Зловредные боты представляют собой одну из серьезных проблем для сайтов на WordPress, особенно для популярных ресурсов с открытой страницей входа. Они способны создавать нагрузку, проводить автоматические атаки, сканировать уязвимости и собирать данные. В этой статье мы разберем, как эффективно защитить WordPress от таких ботов, используя проверенные плагины и примеры кода.
Что такое зловредные боты и почему они опасны для WordPress
Зловредные боты — это автоматизированные программы, которые выполняют вредоносные действия без участия человека. Они могут пытаться подобрать пароли, сканировать сайт на уязвимости, создавать спам и даже создавать нагрузку, замедляя работу сервера. Особенно часто они атакуют страницу входа wp-login.php и xmlrpc.php.
В отличие от обычных ботов поисковых систем, которыми стоит разрешать доступ, зловредных нужно блокировать. Без защиты сайт рискует потерять производительность, попасть в черные списки поисковиков или быть взломанным.
Для защиты от них существуют несколько эффективных методов — от простого ограничения доступа до интеграции с внешними сервисами и использованием плагинов.
Использование плагинов для защиты от ботов
1. Limit Login Attempts Reloaded
Один из самых популярных плагинов для ограничения количества попыток входа. Он блокирует IP после заданного числа неудачных попыток, что эффективно против брутфорс-атак и автоматических ботов.
Преимущества:
- Легко настраивается
- Поддерживает белые и черные списки IP
- Отправляет уведомления администраторам
Скачать и настроить плагин можно на WPSHOP.
2. WP Cerber Security
Многофункциональный плагин безопасности, включающий защиту от ботов, антиспам, ограничение доступа и усиленную защиту страницы входа.
Особенности:
- Блокировка по геолокации
- Встроенный firewall
- Мониторинг активности пользователей и ботов
Рекомендуется для сайтов с высокой посещаемостью и частыми атаками.
3. Invisible reCAPTCHA by BestWebSoft
Добавляет невидимую Google reCAPTCHA на форму входа, регистрации и комментариев, что эффективно блокирует автоматические запросы от ботов.
Установка и настройка не требует навыков программирования, достаточно получить ключи API Google и вставить их в настройки плагина.
Этот плагин также доступен на WPSHOP.
Примеры кода для дополнительной защиты от ботов
Отключение XML-RPC для блокировки атак ботов
XML-RPC часто используется ботами для проведения атак. Его отключение снижает риски.
add_filter('xmlrpc_enabled', 'wplogin_disable_xmlrpc');
function wplogin_disable_xmlrpc() {
return false;
}Добавьте этот код в файл functions.php вашей темы или в кастомный плагин.
Блокировка запросов к wp-login.php по User-Agent
Вы можете заблокировать известных ботов по User-Agent, добавив следующий код:
add_action('init', 'wplogin_block_bad_bots');
function wplogin_block_bad_bots() {
if (strpos($_SERVER['REQUEST_URI'], 'wp-login.php') !== false) {
$bad_bots = array('BadBot', 'EvilScraper', 'MaliciousCrawler');
foreach ($bad_bots as $bot) {
if (stripos($_SERVER['HTTP_USER_AGENT'], $bot) !== false) {
wp_die('Access denied');
}
}
}
}Этот пример можно доработать, добавив реальные User-Agent из логов вашего сервера.
Ограничение доступа по времени к странице входа
Если вы входите на сайт только в определенное время, можно запретить доступ к wp-login.php вне этого интервала.
add_action('login_init', 'wplogin_limit_login_time');
function wplogin_limit_login_time() {
$hour = (int) date('H');
$start = 9; // 9 утра
$end = 18; // 6 вечера
if ($hour < $start || $hour >= $end) {
wp_die('Вход в админку разрешен только с 9:00 до 18:00');
}
}Это простой способ снизить риски в нерабочее время.
Рекомендации по дополнительной защите от ботов
Для комплексной защиты рекомендуется:
- Регулярно обновлять WordPress, темы и плагины
- Использовать надежные пароли и двухфакторную аутентификацию
- Мониторить логи и активность пользователей
- Настроить файервол на уровне сервера или использовать сервисы типа Cloudflare
Интеграция с такими инструментами, как Clearfy Pro, поможет автоматизировать и усилить защиту.
Заключение
Защита WordPress от зловредных ботов — многоуровневая задача. Использование специализированных плагинов в сочетании с кастомными решениями на PHP позволяет значительно снизить риски и повысить безопасность сайта. Обязательно тестируйте настройки на тестовом окружении и регулярно проверяйте логи безопасности.