Защита Drupal от ботов
Drupal ставят на серьёзные проекты, и трафика туда идёт много — как живого, так и автоматического. Формы, регистрация и стандартный адрес входа собирают ботов со всего интернета.
7 дней наблюдения без блокировок; платную защиту можно включить сразу после оплаты. Тарифы и лимиты
Что обычно болит на Drupal
- Спам через Webform, комментарии и регистрацию
- Перебор паролей на /user/login
- Сканирование известных путей модулей
- Выкачивание материалов и узлов по номерам
Как подключить
-
1
Положите модуль
Папка botban/ рядом с index.php. В composer-шаблоне это каталог web/.
-
2
Добавьте вызов в index.php
До подключения autoload.php. Страницы из кэша Drupal тоже проходят через index.php, так что модуль увидит все запросы.
<?php if (is_file(__DIR__ . '/botban/botban.php')) { try { require_once __DIR__ . '/botban/botban.php'; BotBan::protect('bb_pk_...', 'bb_sk_...'); } catch (\Throwable $e) { // Сбой модуля — сайт работает без защиты. } } // дальше обычный код Drupal $autoloader = require_once 'autoload.php'; -
3
Исключите служебные пути
Cron по адресу /cron/{ключ}, JSON:API, если им пользуются ваши приложения, и вебхуки оплаты — в белый список путей.
На что обратить внимание
Обновления Drupal не трогают index.php
Файл принадлежит проекту, а не ядру, поэтому после обновления строка остаётся на месте.
Внешний кэш не видит модуль
Если перед сайтом Varnish или CDN, часть страниц отдаётся без PHP. Для таких посетителей подключите JS-скрипт в дополнение к модулю.
Какие задачи закрывает подключение
Модуль один, задач несколько: что именно он останавливает на сайте под Drupal.