BotBan Защита сайта от ботов
Попробовать
Меню
BotBan Защита сайта от ботов
Тема оформления

Если что-то пошло не так

Сайт стал медленнее

Сколько миллисекунд добавляет модуль на самом деле, откуда берётся задержка, как её измерить и уменьшить через кэш и таймаут.

В обычной ситуации модуль добавляет к странице единицы миллисекунд: решение по знакомому посетителю берётся из локального кэша, и обращения к нам вообще не происходит.

Решение хранится недолго и потом спрашивается заново. Посетителя, к которому нет ни одного замечания, модуль помнит пять минут; пропущенного с замечаниями — столько, сколько задано в настройках сайта (по умолчанию минуту); спорное решение — не дольше тридцати секунд. Если в момент перепроверки мы недоступны, прежний пропуск остаётся в силе.

Заметная задержка возможна в двух случаях.

Мы отвечаем медленно

Модуль ждёт не дольше, чем указано в настройках (по умолчанию 300 мс), и затем пропускает посетителя. Если это много для вашего сайта — уменьшите таймаут в настройках, скажем, до 150 мс. Часть решений мы не успеем отдать, и такие посетители пройдут без проверки.

Кэш отключён или недоступен

Модуль хранит решения в APCu, а если его нет — в файлах во временном каталоге. Если каталог недоступен на запись, к нам придётся обращаться на каждой странице.

Проверьте, что временный каталог доступен, или укажите свой:

BotBan::protect('bb_pk_...', 'bb_sk_...', array(
    'cache_dir' => __DIR__ . '/botban/cache',
));

Увеличение времени жизни кэша в настройках тоже уменьшает число обращений — ценой того, что изменения настроек доходят до сайта не сразу.

Сколько места занимает кэш

Это касается только файлового кэша: APCu живёт в памяти и чистит себя сам.

В каталоге кэша лежат подпапки bb_00…bb_ff, в них — маленькие файлы, по одному на посетителя. Следить за ними не нужно. С версии 1.4.4 модуль сам удаляет просроченное: решения — через два часа после записи, служебные отметки — через двое суток. Делает он это понемногу: примерно раз в двести запросов, уже после того, как страница отдана посетителю, и не дольше 50 мс за раз. Удаляются только файлы, которые создал сам модуль, — если вы указали в cache_dir папку, где лежит что-то ещё, остальное он не тронет.

Модули до 1.4.4 просроченные файлы не удаляли вовсе. Под атакой, когда бот приходит с тысяч адресов и с каждого делает один запрос, каталог рос на сотни тысяч файлов в сутки, а на виртуальном хостинге число файлов ограничено тарифом. Если после обновления в каталоге кэша остался такой завал, модуль разберёт его сам за несколько дней. Ждать не обязательно: каталог кэша можно очистить руками в любой момент, модуль создаст всё заново.

Обновлено 30 сентября 2026

Не нашли ответа?

Напишите в поддержку из кабинета — отвечаем и дополняем документацию.

Подключить бесплатно