Защита WordPress от ботов
WordPress — самая массовая CMS, и по этой же причине самая обстреливаемая. Боты знают её структуру наизусть: адреса входа, точки отправки комментариев, интерфейс xmlrpc.
7 дней наблюдения без блокировок; платную защиту можно включить сразу после оплаты. Тарифы и лимиты
Что обычно болит на WordPress
- Спам в комментариях и в формах обратной связи
- Круглосуточный перебор паролей на /wp-login.php
- Проверка паролей пачками через xmlrpc.php
- Сканирование известных уязвимостей плагинов
- Выкачивание записей и товаров WooCommerce
Как подключить
-
1
Проще всего — плагином
Скачайте архив, установите его через «Плагины → Добавить новый → Загрузить плагин» и вставьте ключи в «Настройки → BotBan». Ключи появляются в кабинете после подтверждения домена. Править файлы на сервере при этом не нужно.
-
2
Или вручную: положите модуль
Способ для тех, у кого есть доступ к файлам. Он немного быстрее: вызов срабатывает раньше, чем загружается ядро WordPress. Скачайте botban.php из кабинета и положите в папку botban/ в корне сайта.
-
3
Добавьте вызов в index.php
В корневой index.php, до строки с подключением wp-blog-header.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) { // Сбой модуля — сайт работает без защиты. } } // дальше идёт обычный код WordPress define('WP_USE_THEMES', true); require __DIR__ . '/wp-blog-header.php'; -
4
Проверьте журнал
Откройте сайт и загляните в журнал визитов в кабинете — ваш визит появится в течение минуты. Сайт начинает в режиме наблюдения: блокировку включаете вы.
На что обратить внимание
Обновления WordPress не затрут
Корневой index.php при обновлении ядра не перезаписывается. Но после переноса сайта или отката из резервной копии проверьте, что строка на месте.
Вход и комментарии — плагином или для всех файлов
Вызов в index.php видит только запросы, которые идут через него. wp-login.php, xmlrpc.php и wp-comments-post.php — отдельные файлы, и перебор паролей идёт мимо index.php. Чтобы защитить и их, ставьте плагин или подключайте модуль сразу для всех файлов сайта через auto_prepend_file.
Не забудьте про xmlrpc.php
Через него пароли проверяются пачками. Если вы не публикуете из приложений, закройте его на уровне сервера — это снимет основную часть нагрузки от перебора.
Свой адрес — в белый список
Добавьте адрес офиса в белый список сайта, чтобы частые входы в админку не выглядели перебором.
Какие задачи закрывает подключение
Модуль один, задач несколько: что именно он останавливает на сайте под WordPress.