Ограничить попытки входа без плагина?
Как защитить страницу входа в WordPress без использования плагина
English version: Limit login attempts without a plugin?
В Интернете можно найти множество отзывов и советов по этому поводу. Но реально ли это?
По умолчанию WordPress допускает неограниченное количество попыток входа через форму входа, отправку специальных файлов cookie, вызовы XML-RPC и вызовы REST API. Это позволяет относительно легко взламывать пароли с помощью грубой силы. В настоящее время хакеры и боты постоянно пытаются войти на ваш сайт WordPress, угадывая ваш пароль администратора и пароли других пользователей, зарегистрированных на сайте. Итак, если вы хотите защитить свой сайт без использования плагина, вам необходимо:
- Хорошо знать PHP .
- Знайте достаточно о фильтре аутентификации и действии (встроенном в WordPress), чтобы их подключить. Я рекомендую начать с таких хуков, как «аутентификация» и «wp_login_failed».
- Отслеживайте форму входа в публикацию, запросы авторизации XML RPC и REST API, и да, не забывайте файлы cookie авторизации (действительны ли они?).
- Храните где-нибудь все попытки со всеми попытками входа в систему и всеми IP-адресами, чтобы рассчитать, когда и какой IP вам нужно заблокировать. Я рекомендую использовать Transient API. Серьезно. Это самый простой способ. Конечно, вы не можете им управлять, но с его помощью можно что-то делать без знания SQL.
- Рассчитать время между неудачными попытками входа в систему для определенного IP.
- Имейте инструмент или код PHP для сброса любого из этих счетчиков и заблокированного IP-адреса клиента. Что, если какой-то законный клиент будет случайно заблокирован?
Выглядит сумасшедшим? У вас есть второй вариант. Вы можете погуглить и взять фрагменты кода из какого-нибудь блога в Интернете без каких-либо гарантий и поддержки.
Вывод: в Интернете можно найти множество советов, как ограничить попытки входа в систему без плагина. Но все советы дают люди, которые даже не знают, как именно работает алгоритм аутентификации WordPress, в том числе те славные ребята из stackoverflow. Но, в любом случае, вы можете это сделать, если вы действительно не беспокоитесь о безопасности своего сайта, потому что нет возможности сделать это правильно без навыков кодирования PHP и знания механизма аутентификации WordPress.