Активный бот-фильтр
Технические данные
Совместимые редакции
- Программа для ЭВМ "1С-Битрикс: Управление сайтом". Лицензия Старт
- Программа для ЭВМ "1С-Битрикс: Управление сайтом". Лицензия Стандарт
- Программа для ЭВМ "1С-Битрикс: Управление сайтом". Лицензия Малый бизнес
- Программа для ЭВМ "1С-Битрикс: Управление сайтом". Лицензия Бизнес
- Программа для ЭВМ "1С-Битрикс24". Лицензия Интернет-магазин + CRM (12 мес.)
Описание
Модуль защищает сайт на 1С‑Битрикс от ботов, скриптов накрутки и автоматизированного спама.
Работает в двух уровнях:
1. Серверный фильтр (PHP) — анализ IP и заголовков на стороне сервера.
2. Front-end фильтр (JS + PHP) — поведенческий анализ в браузере (движения мыши, клики, headless‑признаки и др.) с передачей результата на сервер.
Разработчик сам определяет, что делать с ботами (блокировать, замедлять, показывать капчу и т.п.), а модуль даёт готовую оценку и логирует причины.
Блокирование по IP
Модуль позволяет блокировать нежелательные запросы от ботов, краулеров и так далее и добавлять IP с Стоп-лист Bitrix. Если ip уже есть в списке, дублей не создается.
Требования
- PHP 7.4+
- 1С‑Битрикс: редакции с модулем main 20.0.0+
- Права на запись в /upload (логи и служебные файлы)
Настройки
Настройки модуля доступны по адресу Настройки → Настройки продукта → Модули → Активный бот‑фильтр
User-Agent фильтр
Модуль позволяет добавлять через настройки кастомные User-Agent значения, которые следует считать нежелательными, дополнительно к тем, что использует модуль.
Использование
PHP часть фильтра работает всегда, но не выполняет активных блокировок. Ее можно использовать для фильтрации заявок или действий пользователей.
Модуль формирует оценку пользователя и его действий и принимает решение на основе порога значений (устанавливается в настройках) бот ли это или нет.
Ниже приведен пример использования в коде:
use FStudio78\BotFilter\BotFilter;$bf = BotFilter::analyzeCurrentRequest(); if ($bf['is_bot']) {global $APPLICATION;$APPLICATION->RestartBuffer();header('HTTP/1.1 403 Forbidden');echo 'Доступ ограничен. Попробуйте позже.';die();} |
Также можно применить вариативную фильтрацию, анализируя более сырые данные – токен оценки пользователя.
$bf = BotFilter::analyzeCurrentRequest(); if ($bf['human_prob'] < 0.2) {// Явный бот — блокируемheader('HTTP/1.1 403 Forbidden');echo 'Access denied.';die();} elseif ($bf['human_prob'] < 0.5) {// Сомнительный — замедляем или просим пройти капчуsleep(2);// здесь можно подключить капчу/доп.подтверждение} |
Логи и диагностика
Логи блокировки доступны в /upload/fstudio78_abf.log
Также в настройках модуля можно включить логгирование в консоль. В таком режиме автоматический js-бот-фильтр будет логгировать данные и решение в консоль. Обратите внимание – логгирование идет под админом.
Техническая поддержка предоставляется только по электронной почте при предоставлении доступов в административную часть и доступов по ftp/sftp/ssh.
Установите этот модуль прямо сейчас!
Для этого укажите адрес сайта:
