Как защитить WordPress от Brute Force атак с помощью Limit Login Attempts

Brute Force атаки — одна из наиболее распространенных угроз для сайтов на WordPress, особенно для страниц входа. Взломщики пытаются подобрать пароль перебором, что может привести к компрометации сайта. Для защиты от подобных атак существует множество решений, и одним из самых эффективных является плагин Limit Login Attempts Reloaded. В этой статье мы подробно рассмотрим, как защитить WordPress от Brute Force атак с помощью этого плагина, а также покажем, как реализовать простую защиту собственными силами через код.

Что такое Brute Force атака и почему она опасна

Brute Force атака — это метод взлома, при котором злоумышленник перебирает возможные комбинации логина и пароля, пытаясь подобрать правильные учетные данные для входа на сайт. В случае WordPress целью обычно является файл wp-login.php или REST API аутентификация.

Опасность таких атак в том, что они могут привести к полной компрометации сайта: получению доступа к административной панели, изменению контента, установке вредоносного кода и даже к потере данных.

Чтобы предотвратить Brute Force атаки, важно ограничить количество попыток входа и блокировать IP-адреса злоумышленников.

Использование плагина Limit Login Attempts Reloaded для защиты входа

Limit Login Attempts Reloaded — бесплатный и простой в настройке плагин, который ограничивает количество попыток входа с одного IP-адреса. После превышения лимита IP блокируется на заданный период времени.

Основные возможности плагина:

  • Настраиваемое количество попыток входа;
  • Блокировка IP на определенное время;
  • Уведомления администратора о заблокированных попытках;
  • Белые и черные списки IP;
  • Логирование всех попыток входа.

Установка и базовая настройка Limit Login Attempts Reloaded

Для установки плагина выполните следующие шаги:

  1. Перейдите в админ-панель WordPress в раздел "Плагины" → "Добавить новый".
  2. В поле поиска введите "Limit Login Attempts Reloaded".
  3. Найдите плагин и нажмите "Установить", затем "Активировать".

После активации перейдите в Настройки → Limit Login Attempts, где можно задать:

  • Количество попыток входа (например, 5);
  • Время блокировки IP (например, 20 минут);
  • Время блокировки при повторных попытках;
  • Настройки уведомлений и белые списки IP.

Как плагин защищает от Brute Force

Когда пользователь вводит неправильный пароль больше заданного количества раз, плагин блокирует IP-адрес на определенное время. Это значительно затрудняет подбор пароля перебором, ведь ботам придется ждать, чтобы продолжить попытки.

Кроме того, плагин ведет журнал попыток, что позволяет администратору отслеживать подозрительную активность.

Дополнительная кастомизация защиты через код

Если по каким-то причинам вы не хотите использовать сторонние плагины или хотите дополнить защиту, можно реализовать ограничение попыток входа на PHP с помощью хуков WordPress.

Ниже пример простого решения с использованием transient API для хранения количества попыток с одного IP:

function wplogin_limit_login_attempts() {
    $ip = $_SERVER['REMOTE_ADDR'];
    $transient_key = 'wplogin_failed_attempts_' . $ip;
    $max_attempts = 5;
    $block_time = 15 * MINUTE_IN_SECONDS; // 15 минут

    $failed_attempts = get_transient($transient_key);
    if ($failed_attempts === false) {
        $failed_attempts = 0;
    }

    if ($failed_attempts >= $max_attempts) {
        wp_die('Слишком много неудачных попыток входа. Попробуйте позже.');
    }
}
add_action('wp_login_failed', 'wplogin_track_failed_attempts');
add_action('login_form', 'wplogin_limit_login_attempts');

function wplogin_track_failed_attempts() {
    $ip = $_SERVER['REMOTE_ADDR'];
    $transient_key = 'wplogin_failed_attempts_' . $ip;
    $failed_attempts = get_transient($transient_key);
    if ($failed_attempts === false) {
        $failed_attempts = 1;
    } else {
        $failed_attempts++;
    }
    set_transient($transient_key, $failed_attempts, 15 * MINUTE_IN_SECONDS);
}

Здесь мы при каждой неудачной попытке увеличиваем счетчик и блокируем дальнейшие попытки после 5 неудач на 15 минут.

Преимущества и ограничения собственного кода

Такое решение не требует установки плагинов и позволяет гибко настраивать логику под себя. Однако оно не ведет лог и не уведомляет администратора, а также не защищает от распределенных атак с разных IP.

Поэтому для надежной защиты рекомендуется использовать комплексный подход — плагин + кастомный код.

Дополнительные рекомендации по защите страницы входа

Помимо ограничения попыток входа, рекомендуем принять следующие меры:

  • Смена URL страницы входа — скрыть стандартный wp-login.php с помощью плагинов типа Clearfy Pro;
  • Включение двухфакторной аутентификации с помощью плагинов, например, WPGPT;
  • Ограничение доступа по IP к странице входа через .htaccess или плагины;
  • Использование сложных паролей и регулярная их смена.

Выводы

Защита от Brute Force атак — обязательный элемент безопасности любого сайта на WordPress. Плагин Limit Login Attempts Reloaded предоставляет простой и эффективный способ ограничить попытки входа, а дополнение его пользовательским кодом позволит гибко настроить защиту под свои нужды. Не забывайте также про комплексные меры безопасности, чтобы максимально снизить риски взлома.

Как использовать хук authenticate для дополнительной проверки при входе в WordPress
04.08.2026
Как автоматизировать сброс пароля после взлома в WordPress
07.07.2026
Как удалить или изменить cookie авторизации в WordPress для решения проблем с входом
08.05.2026
Как исправить проблемы входа в WordPress при использовании WooCommerce
31.07.2026
Как исправить проблему с циклическим редиректом при входе в WooCommerce
12.06.2026

wp-login.php - это страница входа в системе управления вордпресс. Если Вы хотите изменить внешний вид страницы входа - читайте здесь. Если вам нужно защитить админку - подробный мануал. Вы можете установить плагин Clearfy, в котором есть функция защиты админки и страницы входа.