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