Ograniczenie prób logowania bez wtyczki?
Jak chronić stronę logowania WordPress bez użycia wtyczki
English version: Limit login attempts without a plugin?
W Internecie można znaleźć wiele komentarzy i porad na ten temat. Ale czy to prawda?
Domyślnie WordPress umożliwia nieograniczone próby logowania za pomocą formularza logowania, wysyłania specjalnych plików cookie, korzystania z wywołania XML-RPC i wywołań API REST. Pozwala to na łamanie haseł ze względną łatwością dzięki atakowi brute force. Obecnie hakerzy i boty stale próbują zalogować się do Twojej witryny WordPress, zgadując hasło administratora i hasła innego użytkownika zarejestrowanego na stronie. Jeśli więc chcesz chronić swoją witrynę bez użycia wtyczki, potrzebujesz:
- Dobrze znasz PHP .
- Dowiedz się wystarczająco dużo o filtrze uwierzytelniającym i akcji (wbudowanej w WordPress), aby je podłączyć. Zalecam zacząć od haków, takich jak „uwierzytelnij” i „wp_login_failed”.
- Śledź formularz logowania po zalogowaniu, żądania autoryzacji XML RPC i API REST, i tak, nie zapomnij plików cookie autoryzacji (czy są one poprawne?).
- Przechowuj gdzieś wszystkie próby z wszystkimi próbami logowania i wszystkimi adresami IP, aby obliczyć, kiedy i jaki adres IP musisz zablokować. Polecam używanie Transient API. Poważnie. To najłatwiejszy sposób. Oczywiście nie możesz tego kontrolować, ale używanie go pozwala zrobić coś bez znajomości SQL.
- Oblicz czas między nieudanymi próbami logowania dla konkretnego adresu IP.
- Masz narzędzie lub kod PHP, aby zresetować dowolny z tych liczników i zablokować IP klienta. Co się stanie, jeśli jakiś legalny klient zostanie przypadkowo zablokowany?
Wygląda na szalonego? Masz drugą opcję. Możesz google i pobrać fragmenty kodu z jakiegoś bloga w Internecie bez żadnej gwarancji i wsparcia.
Wniosek: Możesz znaleźć wiele porad, jak ograniczyć próby logowania bez wtyczki w Internecie. Ale wszystkie rady są udzielane przez osoby, które nawet nie wiedzą, jak działa algorytm uwierzytelniania WordPress, w tym także tych miłych facetów z stackoverflow. Ale w każdym razie możesz to zrobić, jeśli naprawdę nie martwisz się o bezpieczeństwo swojej strony, ponieważ nie ma możliwości zrobienia tego w odpowiedni sposób bez umiejętności kodowania PHP i znajomości mechanizmu uwierzytelniania WordPress.