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