
- MODX 3
- PHP 8.2


crawlerDetectBlock указан в &preHooks вызова FormIt.crawlerDetectBlock в preHooks.preHooks с crawlerDetectBlock.Проверка: отправьте форму с User-Agent бота (например Googlebot) через инструменты разработчика или curl.
[[!isCrawler]] без кэша. С кэшем результат один на всех посетителей.vendor/autoload.php. Сервис создаётся, isCrawler() возвращает «не бот», в журнал ничего не пишется.services->get. В журнал пишется ERROR, isCrawler возвращает 0. PreHook crawlerDetectBlock в этом случае пропускает отправку формы.[[+fi.validation_error_message]] (MODX) или {$modx->getPlaceholder('fi.validation_error_message')} (Fenom).Бывает при нестандартном User-Agent.
crawlerDetectBlock или проверьте логи.Управление → Системный журнал. При включённой настройке crawlerdetect_log_blocked заблокированные попытки попадают в лог. Строка: HTTP_USER_AGENT не длиннее 200 символов. Заголовки HTTP_FROM и HTTP_SEC_CH_UA в журнал не пишутся.
Нет. Зависимости уже в пакете. Установите CrawlerDetect через Менеджер пакетов.
Обновляйте пакет CrawlerDetect через Менеджер пакетов. В новой версии пакета уже новая библиотека. Отдельно на сервере её не обновляйте. В lockfile этой поставки стоит jaybizzle/crawler-detect v1.3.11.
Да. Добавьте оба preHook в FormIt: CrawlerDetect и reCAPTCHA или другую CAPTCHA.
&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. Своего чёрного или белого списка в пакете нет.