Как защитить WordPress от взлома и автоматических атак

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

Почему WordPress часто атакуют? Ключевые угрозы

Основные причины, по которым WordPress подвергается атакам:

  • Популярность платформы — значит, есть множество автоматизированных скриптов, ищущих уязвимости.
  • Большое количество плагинов и тем, многие из которых могут содержать уязвимости.
  • Использование слабых паролей и стандартных логинов (admin).

Типичные виды атак включают брутфорс (перебор паролей), SQL-инъекции, XSS, а также попытки внедрить вредоносный код через плагины.

Основные способы защиты WordPress

1. Защита страницы входа wp-login.php

Страница входа — самое уязвимое место. Чтобы усложнить жизнь злоумышленникам, можно:

  • Изменить URL страницы входа с помощью плагина.
  • Ограничить количество попыток входа.
  • Добавить двухфакторную аутентификацию.

Рассмотрим популярные плагины и пример кода.

Плагины для защиты входа

  • WPLockdown — простой плагин для изменения URL входа.
  • Limit Login Attempts Reloaded — ограничивает количество неудачных попыток входа.
  • Wordfence Security — комплексная защита с двухфакторной аутентификацией и мониторингом.

Код для ограничения доступа к wp-login.php по IP

function wplogin_restrict_wp_login() {
    if (strpos($_SERVER['REQUEST_URI'], 'wp-login.php') !== false) {
        $allowed_ips = ['123.45.67.89', '111.22.33.44']; // Замените на свои IP
        if (!in_array($_SERVER['REMOTE_ADDR'], $allowed_ips)) {
            wp_die('Доступ запрещён');
        }
    }
}
add_action('init', 'wplogin_restrict_wp_login');

Этот код блокирует доступ к странице входа для всех, кроме указанных IP-адресов. Удобно для сайтов с фиксированными IP.

2. Защита от брутфорса с помощью Limit Login Attempts

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

Настройте параметры блокировки в админке, чтобы определить количество попыток и время блокировки.

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

2FA — один из самых надёжных способов защитить учётные записи. После ввода пароля пользователь должен подтвердить вход с помощью кода из мобильного приложения или по SMS.

Для WordPress есть несколько хороших плагинов, например:

  • Google Authenticator – Two Factor Authentication
  • Wordfence Security (имеет встроенную 2FA)

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

Защита от SQL-инъекций и XSS

Использование плагинов безопасности

Плагины вроде Wordfence Security и iThemes Security обеспечивают фильтрацию подозрительных запросов и защиту от распространённых атак.

Кастомные хуки для фильтрации входящих данных

Можно добавить проверку данных на уровне PHP, чтобы отсеивать потенциально опасные запросы.

function wplogin_sanitize_get_requests() {
    foreach ($_GET as $key => $value) {
        if (preg_match('/(union|select|insert|update|delete|drop|;|--)/i', $value)) {
            wp_die('Подозрительный запрос заблокирован');
        }
    }
}
add_action('init', 'wplogin_sanitize_get_requests');

Этот простой фильтр блокирует запросы с потенциально опасными SQL-ключевыми словами.

Дополнительные меры безопасности

1. Регулярные обновления WordPress, тем и плагинов

Обновления закрывают известные уязвимости. Настройте автоматические обновления или регулярно проверяйте наличие новых версий.

2. Резервное копирование сайта

Используйте плагин UpdraftPlus или аналогичный для регулярного сохранения копий сайта и базы данных. Это поможет быстро восстановиться после взлома.

3. Отключение выполнения PHP в папках загрузок

Чтобы предотвратить загрузку и исполнение вредоносных скриптов, запретите запуск PHP в каталоге uploads добавив файл .htaccess с таким содержимым:

# Отключить исполнение PHP
<Files *.php>
    deny from all
</Files>

Итоговые рекомендации по безопасности WordPress

  • Измените URL страницы входа с помощью плагина.
  • Ограничьте попытки входа и добавьте 2FA.
  • Используйте проверенные плагины безопасности.
  • Фильтруйте подозрительные запросы на уровне кода.
  • Обновляйте WordPress и плагины своевременно.
  • Делайте резервные копии сайта.
  • Ограничьте исполнение PHP в папках загрузок.

Следуя этим советам, вы значительно повысите безопасность вашего сайта на WordPress и защитите его от большинства автоматических атак и попыток взлома.

Как добавить логируемые события входа в WordPress для безопасности и аналитики
24.03.2026
Решение проблемы с синхронизацией входов между WooCommerce и WordPress
28.07.2026
Как использовать хук authenticate для дополнительной проверки при входе в WordPress
04.08.2026
Как использовать хук authenticate для дополнительной проверки при входе в WordPress
24.07.2026
Как установить ограничения на число попыток входа в WordPress без сторонних плагинов
28.01.2026

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