Защита от ботов на Yii2
Yii2 всё ещё держит большую долю самописных сайтов и кабинетов в рунете. Защита ставится одной строкой до автозагрузчика.
Что обычно болит на Yii2
- Перебор паролей на страницах входа
- Спам через формы и регистрацию
- Парсинг каталогов и выдач с пагинацией
- Нагрузка на тяжёлые страницы отчётов
Как подключить
-
1
Положите модуль
Папка botban/ уровнем выше web/, чтобы файл не был доступен снаружи.
-
2
Добавьте вызов в web/index.php
До подключения vendor/autoload.php.
<?php // web/index.php require_once __DIR__ . '/../botban/botban.php'; BotBan::protect('bb_pk_...', 'bb_sk_...'); // дальше обычный код Yii require __DIR__ . '/../vendor/autoload.php'; -
3
Advanced-шаблон: два входа
У frontend и backend свои index.php — вызов нужен в каждом, иначе половина сайта останется без защиты.
На что обратить внимание
Консольные команды не затрагиваются
Модуль не работает в CLI, поэтому yii-команды и cron остаются как есть.
Исключите API для мобильных приложений
Если приложения ходят на сайт без браузера, внесите их пути в белый список — иначе они будут выглядеть ботами.