Security Blog
Security Blog

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

Как защитить страницу входа в WordPress без использования плагина


English version: Limit login attempts without a plugin?


В Интернете можно найти множество отзывов и советов по этому поводу. Но реально ли это?

По умолчанию WordPress допускает неограниченное количество попыток входа через форму входа, отправку специальных файлов cookie, вызовы XML-RPC и вызовы REST API. Это позволяет относительно легко взламывать пароли с помощью грубой силы. В настоящее время хакеры и боты постоянно пытаются войти на ваш сайт WordPress, угадывая ваш пароль администратора и пароли других пользователей, зарегистрированных на сайте. Итак, если вы хотите защитить свой сайт без использования плагина, вам необходимо:

  1. Хорошо знать PHP .
  2. Знайте достаточно о фильтре аутентификации и действии (встроенном в WordPress), чтобы их подключить. Я рекомендую начать с таких хуков, как «аутентификация» и «wp_login_failed».
  3. Отслеживайте форму входа в публикацию, запросы авторизации XML RPC и REST API, и да, не забывайте файлы cookie авторизации (действительны ли они?).
  4. Храните где-нибудь все попытки со всеми попытками входа в систему и всеми IP-адресами, чтобы рассчитать, когда и какой IP вам нужно заблокировать. Я рекомендую использовать Transient API. Серьезно. Это самый простой способ. Конечно, вы не можете им управлять, но с его помощью можно что-то делать без знания SQL.
  5. Рассчитать время между неудачными попытками входа в систему для определенного IP.
  6. Имейте инструмент или код PHP для сброса любого из этих счетчиков и заблокированного IP-адреса клиента. Что, если какой-то законный клиент будет случайно заблокирован?

Выглядит сумасшедшим? У вас есть второй вариант. Вы можете погуглить и взять фрагменты кода из какого-нибудь блога в Интернете без каких-либо гарантий и поддержки.

Вывод: в Интернете можно найти множество советов, как ограничить попытки входа в систему без плагина. Но все советы дают люди, которые даже не знают, как именно работает алгоритм аутентификации WordPress, в том числе те славные ребята из stackoverflow. Но, в любом случае, вы можете это сделать, если вы действительно не беспокоитесь о безопасности своего сайта, потому что нет возможности сделать это правильно без навыков кодирования PHP и знания механизма аутентификации WordPress.

Если на вашем сайте будет что-то странное, кому вы позвоните?


I'm a team lead in Cerber Tech. I'm a software & database architect, WordPress - PHP - SQL - JavaScript developer. I started coding in 1993 on IBM System/370 (yeah, that was amazing days) and today software engineering at Cerber Tech is how I make my living. I've taught to have high standards for myself as well as using them in developing software solutions.

View Comments
There are currently no comments.