Как защитить WordPress от bruteforce атак

Bruteforce атаки — одна из самых частых угроз для сайтов на WordPress. Злоумышленники пытаются подобрать логин и пароль методом перебора, чтобы получить доступ к админке. В результате атаки сайт может замедлиться, сервер — перегрузиться, а безопасность — быть скомпрометирована. В этой статье расскажем, как эффективно защитить WordPress от bruteforce атак с помощью плагинов и собственного кода.

Что такое bruteforce атаки и почему они опасны

Bruteforce атака — это метод автоматического перебора паролей при помощи скриптов. Злоумышленники могут пытаться подобрать логин и пароль, перебирая миллионы вариантов. Без защиты такие атаки могут привести к взлому сайта, потере данных, размещению вредоносного кода.

Особенно опасны атаки на стандартный логин admin и слабые пароли. Поэтому первая рекомендация — отказаться от использования логина admin и применять сложные пароли.

Но этого зачастую недостаточно — нужна комплексная защита, которая ограничит количество попыток входа и уведомит администратора.

Использование плагинов для защиты от bruteforce атак

Плагин Loginizer — простой и эффективный способ

Loginizer — популярный бесплатный плагин, который ограничивает количество попыток входа по IP-адресу. Он блокирует IP после заданного количества неудачных попыток, что значительно снижает риск bruteforce.

Основные функции Loginizer:

  • Ограничение количества попыток входа;
  • Блокировка IP на заданный период;
  • Белые и черные списки IP;
  • Уведомления на email о блокировках;
  • Поддержка reCAPTCHA для дополнительной защиты.

Установка и настройка Loginizer:

  1. Установите плагин через админку WordPress (Плагины → Добавить новый → Loginizer).
  2. Активируйте плагин.
  3. Зайдите в настройки (Настройки → Loginizer) и установите лимит попыток, время блокировки, включите уведомления.

Плагин Clearfy для комплексной защиты и оптимизации

Clearfy Pro — мощный плагин, который помимо множества функций оптимизации, содержит инструменты защиты от bruteforce атак. В Clearfy можно включить:

  • Ограничение попыток входа;
  • Отключение REST API для неавторизованных;
  • Отключение XML-RPC, если не используется;
  • Скрытие версии WordPress и других мета-данных.

Clearfy особенно полезен, если вы хотите получить комплексное решение для безопасности и оптимизации. Подробнее и скачать плагин можно на официальной странице Clearfy Pro.

Кастомные методы защиты от bruteforce атак в WordPress

Ограничение попыток входа с помощью кода

Если вы не хотите использовать сторонние плагины, можно добавить в тему или отдельный плагин следующий код, который ограничит количество попыток входа по IP:

add_action('wp_login_failed', 'wpreg_limit_login_attempts');
add_action('wp_authenticate', 'wpreg_check_login_attempts', 30, 3);

function wpreg_limit_login_attempts($username) {
    $ip = $_SERVER['REMOTE_ADDR'];
    $key = 'wpreg_login_attempts_'. $ip;
    $attempts = (int) get_transient($key);
    $attempts++;
    set_transient($key, $attempts, 60*15); // 15 минут
    if ($attempts > 5) {
        wp_die('Слишком много попыток входа. Попробуйте позже.');
    }
}

function wpreg_check_login_attempts($user, $username, $password) {
    $ip = $_SERVER['REMOTE_ADDR'];
    $key = 'wpreg_login_attempts_'. $ip;
    $attempts = (int) get_transient($key);
    if ($attempts > 5) {
        wp_die('Ваш IP временно заблокирован из-за большого количества неудачных попыток входа.');
    }
}

Этот код хранит количество неудачных попыток входа в transient на 15 минут и блокирует IP, если попыток больше 5. Вы можете настроить время и лимит по своему усмотрению.

Добавление reCAPTCHA на форму входа

Еще один эффективный способ — добавить Google reCAPTCHA на страницу входа. Это значительно усложняет автоматический подбор паролей. Для этого можно использовать бесплатный плагин Advanced noCaptcha & invisible Captcha, либо добавить код самостоятельно.

Пример добавления Invisible reCAPTCHA с помощью кода:

// В functions.php
add_action('login_form', 'wpreg_add_recaptcha_to_login');
function wpreg_add_recaptcha_to_login() {
    ?>
    <script src='https://www.google.com/recaptcha/api.js'></script>
    <div class="g-recaptcha" data-sitekey="ВАШ_КЛЮЧ_САЙТА"></div>
    <?php
}

add_filter('authenticate', 'wpreg_verify_recaptcha', 30, 3);
function wpreg_verify_recaptcha($user, $username, $password) {
    if (empty($_POST['g-recaptcha-response'])) {
        return new WP_Error('captcha_error', __('<strong>Ошибка</strong>: Пожалуйста, подтвердите, что вы не робот.'));
    }

    $response = wp_remote_post('https://www.google.com/recaptcha/api/siteverify', [
        'body' => [
            'secret' => 'ВАШ_СЕКРЕТНЫЙ_КЛЮЧ',
            'response' => $_POST['g-recaptcha-response'],
            'remoteip' => $_SERVER['REMOTE_ADDR']
        ]
    ]);

    $response_body = wp_remote_retrieve_body($response);
    $result = json_decode($response_body, true);

    if (empty($result['success']) || $result['success'] !== true) {
        return new WP_Error('captcha_error', __('<strong>Ошибка</strong>: Подтверждение reCAPTCHA не прошло.'));
    }

    return $user;
}

Не забудьте зарегистрироваться на сайте Google reCAPTCHA, чтобы получить ключи.

Дополнительные советы по повышению безопасности WordPress

Изменение стандартного URL входа

По умолчанию админка доступна по адресу /wp-login.php или /wp-admin. Злоумышленники легко находят эту страницу и запускают атаки. Изменение URL страницы входа значительно снизит риски.

Для этого можно использовать плагин WPGPT My Popup, который позволяет создавать кастомные формы входа, или специальные плагины типа WPS Hide Login.

Отключение XML-RPC и REST API

Если не используете мобильные приложения или внешние сервисы, отключение XML-RPC и ограничение REST API сделают сайт менее уязвимым. В Clearfy это делается в пару кликов, либо добавьте код:

// Отключение XML-RPC
add_filter('xmlrpc_enabled', '__return_false');

// Ограничение REST API только для авторизованных
add_filter('rest_authentication_errors', function($result) {
    if (!empty($result)) {
        return $result;
    }
    if (!is_user_logged_in()) {
        return new WP_Error('rest_forbidden', 'Доступ запрещен.', ['status' => 401]);
    }
    return $result;
});

Регулярное обновление и резервное копирование

Не забывайте обновлять ядро WordPress, темы и плагины. Устаревшее ПО — частая причина взломов. Для резервного копирования можно использовать плагин My Popup с функцией создания бэкапов или специализированные решения.

Итог

Защита от bruteforce атак — обязательный элемент безопасности любого сайта на WordPress. Используйте проверенные плагины, дополняйте защиту собственными решениями, ограничивайте доступ и добавляйте reCAPTCHA. Такой комплексный подход обеспечит надежную защиту и сохранит ваш сайт в безопасности.

Как исключить товары и варианты WooCommerce по атрибуту из корзины и оформления заказа
11.05.2026
Как создать и настроить пользовательское агентство в WordPress
22.03.2026
Исключение товаров WooCommerce по атрибуту из корзины и оформления заказа
28.05.2026
Руководство по созданию и использованию REST API в WordPress
23.11.2025
Как избежать конфликтов между плагинами в WordPress
26.12.2025