
- MODX 3
- PHP 8.2


Типичные проблемы при использовании CrawlerDetect и способы их устранения.
Проверьте:
crawlerDetectBlock указан в &preHooks вызова FormIt.crawlerDetectBlock в preHooks.preHooks с crawlerDetectBlock.Проверка: отправьте форму с User-Agent бота (например, Googlebot) через инструменты разработчика (изменение заголовков) или через curl.
Возможные причины:
[[!isCrawler]] (без кэша). При кэше результат будет один и тот же для всех посетителей.core/components/crawlerdetect/vendor/autoload.php. При ошибке загрузки сниппет возвращает 0 (fail-open) и пишет в лог MODX.Проверьте:
[[+fi.validation_error_message]] (MODX) или {$modx->getPlaceholder('fi.validation_error_message')} (Fenom).Редко, но возможно при нестандартном User-Agent. Решение:
crawlerDetectBlock или проверьте логи.Управление → Системный журнал. При включённой настройке crawlerdetect_log_blocked заблокированные попытки отправки форм записываются в лог.
Нет. Зависимости уже входят в пакет. Установите CrawlerDetect через Менеджер пакетов — этого достаточно.
Обновляйте пакет CrawlerDetect через Менеджер пакетов. Новая версия дополнения содержит актуальную версию библиотеки. Отдельно обновлять библиотеку на сервере не нужно.
Да. CrawlerDetect можно использовать вместе с reCAPTCHA или другими CAPTCHA: добавьте оба preHook в FormIt.
&preHooks=`crawlerDetectBlock,recaptcha` 'preHooks' => 'crawlerDetectBlock,recaptcha'CrawlerDetect сработает первым и отсечёт ботов до CAPTCHA.
AjaxForm — альтернатива FormIt. CrawlerDetect интегрирован с FormIt. Если AjaxForm вызывает FormIt на сервере, добавьте crawlerDetectBlock в preHooks FormIt — защита будет работать.
Да. SendIt использует FormIt; параметры задаются в пресетах. Добавьте в пресет 'preHooks' => 'crawlerDetectBlock' — при блокировке ботом SendIt вернёт ошибку и покажет сообщение из настроек CrawlerDetect. См. Интеграция → AJAX-форма (SendIt).
Нет. Только MODX Revolution 3.x.
В текущей версии — нет. Используется только библиотека JayBizzle/Crawler-Detect. Расширение чёрного/белого списка — в планах на будущие версии.