Как удалить блокировку входа после Limit Login Attempts в WordPress

Диагностика проблемы блокировки входа

Плагин Limit Login Attempts (или его форки) ограничивает число неудачных попыток входа, после чего временно блокирует IP-адрес или пользователя. Иногда блокировка не снимается автоматически или пользователь не может войти даже после ожидания. Чтобы убедиться, что проблема именно в этом, проверьте:

  • Сообщения об ошибках на странице входа вроде "Too many login attempts. Please try again in X minutes";
  • Состояние блокировок в базе данных или в самом плагине (если есть админ-панель);
  • Совпадение IP-адреса пользователя с заблокированными IP.

Где Limit Login Attempts хранит блокировки

В современных версиях плагина данные о блокировках хранятся в wp_options или в транзиентных данных с ключами, начинающимися на limit_login_. Это могут быть списки заблокированных IP и временные отметки.

Проверка вручную через базу данных

SELECT option_name, option_value FROM wp_options WHERE option_name LIKE '%limit_login_%';

Если блокировка хранится в опциях, то удаление соответствующих записей сбросит блокировку.

Пошаговое решение удаления блокировки

  1. Очистка блокировок через админ-панель плагина. В разделе «Limit Login Attempts» найдите список заблокированных IP и снимите блокировку.
  2. Удаление данных блокировок через базу данных. Если доступа к панели нет, подключитесь к базе через phpMyAdmin или WP-CLI и выполните:
DELETE FROM wp_options WHERE option_name LIKE 'limit_login_%';
  1. Очистка транзиентов, если плагин использует их. Через WP-CLI:
wp transient delete --all
  1. Перезагрузка сервера кеша и PHP-FPM (если используется). Иногда кеширование мешает обновлению данных.
  2. Проверка разрешений и блокировок на уровне сервера (firewall, .htaccess). Убедитесь, что IP не блокируется дополнительно.

Удаление блокировки через код

Можно программно сбросить все блокировки, добавив код в functions.php или создав отдельный snippet:

function clear_limit_login_attempts_blocks() {
    global $wpdb;
    $option_names = $wpdb->get_col("SELECT option_name FROM {$wpdb->options} WHERE option_name LIKE 'limit_login_%'");
    foreach($option_names as $option_name) {
        delete_option($option_name);
    }
    if (function_exists('wp_cache_flush')) {
        wp_cache_flush();
    }
}

add_action('init', 'clear_limit_login_attempts_blocks');

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

Проверка результата после удаления блокировок

  • Попробуйте войти с заблокированного IP без ошибки;
  • Проверьте в админке плагина, что список заблокированных IP пуст;
  • Если используется кеш, очистите его и проверьте повторно;
  • Проверьте логи сервера и WordPress на предмет ошибок.

Частые ошибки при попытке снять блокировку

  • Неочищенные транзиенты. Многие не удаляют транзиенты, и блокировка остаётся в кеше;
  • Кеширование на уровне сервера. Nginx, Varnish или плагин кеша могут выдавать старую страницу с блокировкой;
  • Блокировка IP вне WordPress. Firewall или хостинг блокирует IP, а не плагин;
  • Использование других плагинов с функционалом блокировки. Например, Wordfence или iThemes Security могут иметь собственные списки блокировок.

Практические советы по безопасности и производительности

  • Регулярно проверяйте логи и блокировки, чтобы не блокировать легитимных пользователей;
  • Используйте сбалансированные настройки Limit Login Attempts: не слишком маленькое число попыток и разумное время блокировки;
  • Если плагин не обновляется, рассмотрите альтернативы, например WP Cerber или встроенные решения хостинга;
  • Для крупных сайтов с большим трафиком лучше использовать серверные firewall и Rate Limiting, а не только плагин;
  • Для удобства мониторинга и разблокировки используйте автоматические отчёты или интеграцию с внешними системами логирования.

Сравнение способов удаления блокировок

МетодПреимуществаНедостатки
Через админ-панель плагинаПросто, не требует доступа к базеНе всегда доступно, если не можете войти
Через SQL-запросыБыстро, полный контрольТребуется доступ к базе, риск ошибки
Программный сброс в functions.phpМожно автоматизировать, подходит для временного решенияНужно убрать код после выполнения, может нагрузить сайт
Как установить ограничения на число попыток входа в WordPress без сторонних плагинов
28.01.2026
Как исправить ошибку 429 Too Many Requests при входе в WordPress
15.06.2026
Как использовать хуки для изменения формы входа в WordPress
11.01.2026
Как добавить логируемые события входа в WordPress для безопасности и аналитики
24.03.2026
Как отключить доступ к wp-login.php для определённых ролей пользователей в WordPress
26.04.2026

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