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