
CrawlerDetect
Определение ботов по заголовкам запроса и защита форм от спама без CAPTCHA
- MODX 3
- PHP 8.2


Ключи: crawlerdetect_*. Пространство имён crawlerdetect. Точка в crawlerdetect. есть только у плейсхолдера placeholderPrefix. У системных настроек её нет.
Путь: Система → Системные настройки, фильтр по пространству имён crawlerdetect.
| Настройка | Описание | По умолчанию |
|---|---|---|
crawlerdetect_block_message | Текст при блокировке формы ботом | «Не удалось отправить форму. Попробуйте позже.» |
crawlerdetect_log_blocked | Логировать заблокированные отправки в системный журнал MODX | Да |
Сообщение пишется в [[+fi.validation_error_message]] и в ошибку FormIt с ключом crawlerdetect ($hook->addError).
Если ключа crawlerdetect_log_blocked нет в БД, хук пишет лог (запасной вариант true, как в transport). В журнал: только HTTP_USER_AGENT, не больше 200 символов. Склейки заголовков нет.
| Свойство | Описание | По умолчанию |
|---|---|---|
| userAgent | Строка для проверки. Пусто: заголовки JayBizzle (HTTP_USER_AGENT, HTTP_FROM, HTTP_SEC_CH_UA и др.) | — |
| placeholderPrefix | Префикс плейсхолдера для имени обнаруженного бота | crawlerdetect. |
Имя бота: crawlerdetect.matches (или ваш префикс). Нужен для отладки.