Как защитить WordPress от Brute Force атак: приватные методы и примеры кода

Почему Brute Force атаки опасны для WordPress

Brute Force атака – это метод взлома, при котором злоумышленник перебирает варианты логина и пароля для доступа к админ-панели WordPress. Такие атаки могут привести к компрометации сайта, потере данных и даже к взлому всего сервера. Несмотря на то, что существуют популярные плагины для защиты, например, Clearfy Pro, важно понимать и реализовывать приватные методы защиты, чтобы иметь полный контроль и снизить зависимость от сторонних решений.

Brute Force атаки часто направлены на стандартный URL входа /wp-login.php, а также на пользователя с именем admin, поэтому базовые меры защиты включают в себя ограничение попыток входа, смену URL и усиление паролей.

Ограничение числа попыток входа без плагинов

Один из эффективных способов – реализовать ограничение количества попыток входа через PHP. Это поможет заблокировать IP адреса, которые делают слишком много запросов за короткий промежуток времени.

Пример функции wpkey_limit_login_attempts()

Добавьте следующий код в файл functions.php вашей темы или создайте небольшой плагин:

function wpkey_limit_login_attempts() {
    session_start();
    if (!isset($_SESSION['login_attempts'])) {
        $_SESSION['login_attempts'] = 0;
    }
    if ($_SESSION['login_attempts'] > 5) {
        wp_die('Слишком много попыток входа. Попробуйте позже.');
    }
}
add_action('login_init', 'wpkey_limit_login_attempts');

function wpkey_track_login_attempts() {
    session_start();
    if (isset($_POST['log'])) {
        if (!wp_check_password($_POST['pwd'], get_user_by('login', $_POST['log'])->user_pass, get_user_by('login', $_POST['log'])->ID)) {
            $_SESSION['login_attempts']++;
        } else {
            $_SESSION['login_attempts'] = 0;
        }
    }
}
add_action('wp_login_failed', 'wpkey_track_login_attempts');

Этот код использует сессии для подсчёта неудачных попыток и блокирует дальнейшие попытки при превышении лимита. Такой подход прост, но эффективен для небольших сайтов.

Изменение URL страницы входа в WordPress

Стандартный адрес входа /wp-login.php известен всем и используется во многих атаках. Изменение этого URL – простой способ уменьшить количество попыток взлома.

Для этого можно использовать плагин Clearfy Pro, который позволяет легко изменить URL входа. Но если хочется сделать это вручную, можно реализовать следующий код:

function wpkey_custom_login_url() {
    $request_uri = $_SERVER['REQUEST_URI'];
    if (strpos($request_uri, '/mylogin') !== 0 && (strpos($request_uri, '/wp-login.php') === 0 || strpos($request_uri, '/wp-admin') === 0)) {
        wp_redirect(home_url('/mylogin'));
        exit;
    }
}
add_action('init', 'wpkey_custom_login_url');

Здесь /mylogin — новый URL для входа. Не забудьте создать страницу с этим урлом, которая будет обрабатывать вход через стандартные функции WordPress.

Использование двухфакторной аутентификации (2FA)

Двухфакторная аутентификация – один из самых надежных способов защиты от Brute Force. Даже если злоумышленник взломает пароль, без второго фактора доступа не будет.

Рекомендуется использовать плагины, например, WPGPT с поддержкой 2FA, или специализированные решения, такие как Google Authenticator для WordPress.

Пример настройки 2FA с плагином

После установки плагина 2FA:

  • Активируйте двухфакторную аутентификацию для всех администраторов и редакторов.
  • Настройте методы подтверждения (приложение, SMS, email).
  • Проверьте работу, выйдя из аккаунта и войдя заново.

Этот простой шаг значительно повысит безопасность вашего сайта.

Блокировка IP с помощью .htaccess

Если вы видите подозрительную активность с определённых IP-адресов, можно заблокировать их на уровне сервера через файл .htaccess.

# Блокировка IP
<RequireAll>
    Require all granted
    Require not ip 123.45.67.89
    Require not ip 111.22.33.44
</RequireAll>

Этот способ эффективен для блокировки повторяющихся атак с одних и тех же адресов, но требует регулярного мониторинга и обновления списка.

Заключение и рекомендации по комплексной защите

Для надёжной защиты от Brute Force атак стоит комбинировать несколько методов:

  • Ограничение количества попыток входа (например, с помощью собственного кода или плагинов).
  • Изменение стандартного URL входа на индивидуальный.
  • Использование двухфакторной аутентификации.
  • Мониторинг и блокировка подозрительных IP через .htaccess или фаервол.
  • Использование надежных паролей и регулярное обновление учетных данных.

Кроме того, плагины из WPShop.ru помогут упростить некоторые процессы и добавить дополнительный уровень защиты.

Как отладить ошибку 500 Internal Server Error в WordPress
01.12.2025
Как автоматически отключать неиспользуемые плагины в WordPress
29.03.2026
Как избежать конфликтов между плагинами в WordPress: практическое руководство
14.03.2026
WooCommerce: способы оплаты не отображаются при использовании Strict Checkout — решение проблемы
11.05.2026
Как настроить автоматический редирект ссылок в WordPress
12.02.2026

Ресурс в разработке, скоро здесь будет сайт по вордпресс