Всего 125 986 комментариев

Александр Мельник
20 ноября 2021, 12:10
0
Пропускает конечно, этот (как и любой другой) инструмент не дает 100% гарантии. У меня тоже на более чем 20 сайтах установлена recaptcha3 и на каждом из этих сайтов есть спам. Ну вернее на 4 сайтах спама нет, но это не заслуга captcha а просто эти сайты забыты и Богом и спамерскими программами.
Совместно с captcha мудрю и другие способы защиты (скрытые поля, которые якобы спам бот должен все равно заполнить, варианты через js которые предложил Артур и прочее), но все это если и помогает то на пару недель, после чего спам продолжает идти как и раньше.
Опытным путем нашел «лучший для себя способ», однако применяю его там, где пишу сайт с нуля, а не на CMSках. Не использую тег form вообще для создания форм, верстаю все формы так, чтобы они не были заключены в
<form>
. Да это лишает нас события submit, но поскольку я все равно все свои формы обрабатываю собственными js обработчиками, то для меня это не проблема. Спам бот не определяет такие формы и не атакует их (возможно что на днях они научаться делать и это).
Артур Шевченко
20 ноября 2021, 11:14
+1
Есть предложение выкинуть капчу и сделать так. Создаешь скрытое поле с именем например secret. В вызове в параметре validate пишешь secret:contains=^Bdsvgfdbr^ и пишешь js который при загрузке страницы или при попадании любого поля формы в фокус будет заполнять secret значением Bdsvgfdbr (любой набор символов).
Сергей Шлоков
20 ноября 2021, 07:48
0
Странная валидация.
Yury
19 ноября 2021, 22:26
0
Спасибо за ответ.
А решится ли проблема с китайскими или корейскими именами?
Сейчас китайцы ничего не могут купить — они получают сообщение, что поле не заполнено.
Сергей Шлоков
19 ноября 2021, 21:15
0
Андрей, а у тебя реально работают приоритеты? Просто я смотрю на код и вижу, что ты создаёшь один виртуальный плагин с id=1000. И не понимаю, как заставить один и тот же плагин сработать в разных приоритетах?
'eventMap' => 
  array (
    'OnHandleRequest' => 
      array(
         1000 => '1000',
         3 => '3',
         1000 => '1000',
         7 => '7',
      ) ,
  );
В индексированном массиве нельзя указывать один и тот же индекс для разных записей.

П.С. Сознаюсь, что я не тестировал твой компонент, просто код смотрел. Поэтому и спрашиваю. :)
Дмитрий
19 ноября 2021, 21:13
0
У вас что-за ось и настройки php?
Ubuntu 14.04 / php 7.2.8 / openssl 1.0.1f / nginx
Ось конечно старенькая, но пока так…
с сертификатами чего только не делал.
В первую очередь как везде написано — скачал свежий cacert.pem и прописал его в настройки php. перезапустил естественно и php и nginx.
затем пытался вручную обновлять сертификаты, но результат всё тот же. Почему-то при проверке в консоли любого сайта
echo file_get_contents("https://*.*/");
показывается его содержимое
если пытаюсь проверять
echo file_get_contents("https://modstore.pro/");
echo file_get_contents("https://modx.pro/");
валит ошибку…
Сейчас я склоняюсь к теории что это из-за версии openssl, но обновить её не решаюсь. На серваке несколько сайтов работает, не хотелось бы чтобы они легли в случае неудачи с обновлением.
Александр Туниеков
19 ноября 2021, 18:06
0
Ну вот на модсторе сертификат проверить не может.
У вас что-за ось и настройки php?
Aleksandr Huz
19 ноября 2021, 16:38
0
Да, через сниппет msGiftCart можно вывести в любом месте, но его можно вызывать только один раз и если не вызван сниппет msCart. Это связано с тем, что минишоп использует id для работы с корзиной, но это тоже решается.
des1gner
19 ноября 2021, 15:47
+1
Рад появлению такому компоненту. Вопрос. А можно ли выводить список подарков в любом другом месте вне корзины? И уведомить так же пользователя о том, что еще чуть-чуть и тебе подарочек, так же вне корзины?
Евгений Лазарев
19 ноября 2021, 12:29
0
Виталий подскажите пожалуйста с версией 1.2.1 почему то для выгрузок в 1000 и более товаров стала прерываться на этапе загрузки изображений с 500 error. В общем логе ничего. Ответ 1С
Отправка запроса на авторизацию.
Отправка запроса на инициализацию, для определения версии обмена данных.
{ОбщийМодуль.Б_ОбщиеПроцедурыИФункцииОбменаССайтом.Модуль(2462)}: Ошибка при вызове метода контекста (ОтправитьДляОбработки)
Соединение.ОтправитьДляОбработки(ПолноеИмяФайла, СокрЛП(ПараметрыЗапроса), ИмяФайлаОтвета, СокрЛП(Заголовки));
по причине:
Ошибка при выполнении файловой операции 'assets/components/msync/1c_exchange.php?type=catalog&mode=file&filename=import_files/116327_1.jpg&'
по причине:
Ошибка работы с Интернет: внутренняя ошибка сервера (500). <!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN">
<html><head>
<title>500 Internal Server Error</title>
</head><body>
<h1>Internal Server Error</h1>
<p>The server encountered an internal error or
misconfiguration and was unable to complete
your request.</p>
<p>Please contact the server administrator at
webmaster@yahont.online to inform them of the time this error occurred,
and the actions you performed just before this error.</p>
<p>More information about this error may be available
in the server error log.</p>
</body></html>

по причине:
Ошибка работы с Интернет: внутренняя ошибка сервера (500)
Произошла ошибка на стороне сервера. Не получен статус завершения операции. Файл не отправлен (C:\Users\Пользователь\AppData\Local\Temp\3 001 078 109\webdata\000000002\goods\0\import_files\116327_1.jpg).
Ответ сервера:
<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN">
<html><head>
<title>500 Internal Server Error</title>
</head><body>
<h1>Internal Server Error</h1>
<p>The server encountered an internal error or
misconfiguration and was unable to complete
your request.</p>
<p>Please contact the server administrator at
webmaster@yahont.online to inform them of the time this error occurred,
and the actions you performed just before this error.</p>
<p>More information about this error may be available
in the server error log.</p>
</body></html>

Ответ сервера: <!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN">
<html><head>
<title>500 Internal Server Error</title>
</head><body>
<h1>Internal Server Error</h1>
<p>The server encountered an internal error or
misconfiguration and was unable to complete
your request.</p>
<p>Please contact the server administrator at
webmaster@yahont.online to inform them of the time this error occurred,
and the actions you performed just before this error.</p>
<p>More information about this error may be available
in the server error log.</p>
</body></html>
Подскажите в чем может быть проблема. Все лимиты увеличены до упора.
Николай Савин
19 ноября 2021, 11:47
+2
Вопрос решается достаточно просто.
Вам нужно расширить класс заказа своим классом, и перезаписать метод validate который и фильтрует входящие буквы. Там есть такая конструкция

$tmp = preg_replace(
                    array('/[^-a-zа-яёґєіїўäëïöüçàéèîôûäüöÜÖÄÁČĎĚÍŇÓŘŠŤÚŮÝŽ\s\.\'’ʼ`"]/iu', '/\s+/', '/\-+/', '/\.+/', '/[\'’ʼ`"]/iu', '/\'+/'),
                    array('', ' ', '-', '.', '\'', '\''),
                    $value
                );
Дмитрий
19 ноября 2021, 11:22
0
спасибо за ответ, все работает.
Иван Бочкарев
19 ноября 2021, 08:36
0
На данный момент я только принимаю и подтверждаю приходящие PR.
Есть какие то конкретные запросы, вопросы, предложения?
Сергей Лим
19 ноября 2021, 06:25
0
Радует, что modx еще жив. А раздел документации кто-нибудь модерирует?
Yury
19 ноября 2021, 01:00
0
Та же самая проблема. Удалось ли Вам её решить?
Валерий
18 ноября 2021, 21:42
0
Сергей, добрый вечер.
Спустя несколько лет у меня вновь возникли проблемы с выводом кнопки «нет в наличии» в данном компоненте.
Несмотря на "!" в вызовах сниппета и плейсхолдера, при первой загрузке страницы из 12 товаров, каждому товару присваивается количество первого в списке. Если страничку перезагрузить, то все работает корректно.
Как такое может быть? Могу ли без принудительного обновления страницы я добиться верных значений?
Aleksandr Huz
18 ноября 2021, 21:40
+1
Ага, спасибо. Скоро будет.
Prihod
18 ноября 2021, 20:39
+1
GoogleSheets это платный компонент так что я думаю автор быстро отреагирует на просьбу обновить guzzlehttp