Станислав
С нами с 11 января 2013; Место в рейтинге пользователей: #1240- Заметки 67
- Комментарии 11
Вчера в 09:38
Я не знаком с cityField. Смотрите, чем отличаются формы и запросы на сервер. Если разные контексты — то проверьте, как настроены источники файлов.
easyComm 1.11.0. Прикрепление файлов (фотографий) 30
04 июня 2026, 20:21
У кого нет юрлица, то можно использовать бота-прослойку: modx.pro/development/25531
Уведомления о заказах minishop в MAX 1
01 июня 2026, 18:39
После обновления на 5.2, в системных настройках FormIT все описания настроек стали повторять названия ключей, то есть описания затерлись
FormIt 5.2: нативный AJAX и reCAPTCHA v3 4
30 мая 2026, 08:05
Посмотрел на ваш скрин, там мыло указано тоже, что и в запросах на мой сайт были. Плагин (modx.pro/help/25277), отловил их у меня сегодня.
136 входящих заказов с пустыми полями в форме и без товаров. Как такое возможно? 5
29 мая 2026, 21:18
а, то есть, это влияет только на невозможность обновления компонента и отсутствие поддержки? а я думал если развернуть копию сайта с платным пакетом —...
Вопрос по платным пакетам на локальном/тестовом сайте 2
27 мая 2026, 10:50
Спасибо за оперативный ответ!
Уже проверил и пофиксил, плюс скачал пакет с GitHub дополнительно
Кто-то одаренный на основном домене переключил вер...
YaSmartCaptcha - защитите ваши формы от спама умной капчей от Яндекс 37
22 мая 2026, 21:53
Разумно. Все поля подряд не хочу добавлять в чанк. Практика показывает, что полей очень много, содержимое может быть объемным и появление подсказок мо...
mSearch - обновление до версии 1.3.0. 2
22 мая 2026, 18:30
Это changelog разросся. Не помещается в базе данных mariaDB (mysql почему то съедает и не морщится) Выпустил Версию. 1.11.1 с решением этой проблемы.
MiniShop3 1.11.0 8
22 мая 2026, 09:51
Твой бот стримит всё что происходит в терминале? И умеет выполнять слэш команды для агентов типа /status /btw? А ещё нет ли проблемы разрастания входя...
[aiAssist] Я же просто попросил его создать магазин, а он СДЕЛАЛ ЭТО! 16
Код сниппета ParseInsta:
И далее JSON обрабатываем через JS или конвертуть в массив и использовать в чанках
Нужно добавить в нужный источник файлов булеву настройку hideSource:
и создать плагин на OnMediaSourceGetProperties:
Это очистит источники в дереве.
2) т/к availability (из инфы от автора вопроса) для товара добавлено через систему плагинов minishop2 которую также в удобной форме реализует дополнение msFieldsManager то код примет следующий вид
Вариант, работающий только при [merge_slashes = off]
Конструкция, которую вы привели, имеет логическую ошибку, из-за чего удалять она будет только по одному слешу (если подряд идущих слешей — несколько, будет несколько последовательных 301 редиректов), что не есть хорошо. В rewrite первая звёздочка захватит часть слешей, оставив конструкции //+ только 2 слеша.
Что нужно сделать, чтобы довести конструкцию до ума:
1. «Умерить» жадность этой звёздочки
2. Добавить символы начала и конца строки (не обязательно, но желательно)
3. Максимально упростить регулярное выражение в location (т.к. оно используется только для обнаружения факта присутствия в uri лишних слешей)
Вариант, работающий только при [merge_slashes = on]
А ещё лучше использовать конструкцию, которая не требует отключения merge_slashes (работает только при включенном merge_slashes):
Здесь переменная $request_uri содержит исходный uri с исходными аргументами запроса (до корректировки веб-сервером и до всяких внутренних редиректов). Конструкция ^[^?]* слева от слешей нужна, чтобы убедиться, что лишние слеши обнаружены именно в uri, а не в составе аргументов (слэши в составе аргументов не трогаем). И в самую последнюю очередь делаем 301 редирект на uri, который nginx уже самостоятельно очистил от лишних слешей (это значение содержится в переменной $uri).
Универсальный вариант, не зависящий от состояния [merge_slashes]
Если же нужен универсальный вариант, который не зависит от состояния директивы merge_slashes, то делаем так (слэши в составе аргументов не трогаем):
создать плагин на pdoToolsOnFenomInit, в нем добавить модификатор detector
и теперь в любом месте можно делать так
защита серверная.
Все дело в спам-программах — они сначало пытаются понять, с каким движком имеют дело, а только потом уже заспамиться\зарегистрировать пользователя\оставить ссылку, делают они это по следующим признакам:
1. наличие footprint'а в файле html
Этот пункт не относится к MODX — пропускаем
2. ломятся по известным адресам (папкам)
И так далее — тут они понимают, битрикс ли это или форум phpbb, или что там еще.
Вот этот пункт интересен.
В nginx вешаем правило
— исключительно чтобы не нагружать php5-fpm\hhvm демон спамными запросами, динамический бэкэнд и там отдаст 404 ошибку т.к. этих папок нет.
Потом ставим fail2ban, и организуем следующий jail:
/etc/fail2ban/filter.d/nginx-noscript.conf
и в файле:
/etc/fail2ban/filter.d/jail.conf
Таким образом, любой, кто запросит подобные расположения папок: example.com/bitrix более 3 раз (maxretry = 3), попадет в бан по IP адресу на 10 минут (bantime = 600)
При такой защите не только у спам-программ отпадает охота сканить ваш сайт, но и у тех, кто делает это вручную.
+Абсолютная неуязвимость к программам определяющих на какой CMS ваш сайт
+Практически никакого спама (только если форма отправки сообщений висиь на главной страничке)
+Разгрузка динамического бэкэнда php5-fpm\hhvm от ненужных запросов
Все эти интересные пути запрашиваются тысячами, обнаружить их можно анализируя логи через удобный интерфейс piwik, который называется log analizator, серверный скрипт, написанный на питоне. Смотрит все логи nginx и строит по ним всякие графики, пободно yandex.metrika, только по логам а не через прикрепляемый javascript (хотя такая возможность тоже есть). Тут же можно следить, как часто робот яндекса\гугла посещает ваш сайт.
location ~* ^/assets/images/products/\d+/\d+x\d+/ { access_log off; expires 10d; break; } location ~* ^/assets/images/products/\d+/ { deny all; }Наверное, можно и как-то красивее написать, но я не придумал.Теперь никто не откроет полноразмерные картинки, и ты можешь отдавать их через PHP покупателям.