Ograniczyć próby logowania bez wtyczki?
Jak chronić stronę logowania WordPress bez użycia wtyczki
English version: Limit login attempts without a plugin?
Można znaleźć mnóstwo komentarzy i porad na ten temat w Internecie. Ale czy to prawda?
Domyślnie WordPress zezwala na nieograniczoną liczbę prób logowania za pomocą formularza logowania, wysyłania specjalnych plików cookie, korzystania z wywołania XML-RPC i wywołań REST API. Pozwala to na łamanie haseł z względną łatwością za pomocą ataku siłowego. Obecnie hakerzy i boty nieustannie próbują zalogować się do Twojej witryny WordPress, zgadując Twoje hasło administratora i hasła innych użytkowników zarejestrowanych w witrynie. Tak więc, jeśli chcesz chronić swoją witrynę bez użycia wtyczki, potrzebujesz:
- Znajomość PHP na poziomie zaawansowanym.
- Dowiedz się wystarczająco dużo o filtrze uwierzytelniania i akcji (wbudowanej w WordPress), aby je podłączyć. Zalecam zacząć od haków takich jak „authenticate” i „wp_login_failed”.
- Śledź formularz logowania, żądania autoryzacji XML RPC i REST API, a także nie zapomnij o plikach cookie autoryzacyjnych (czy są prawidłowe?).
- Przechowuj gdzieś wszystkie próby logowania i wszystkie adresy IP, aby obliczyć, kiedy i jakie IP należy zablokować. Polecam użycie Transient API. Naprawdę. To najłatwiejszy sposób. Oczywiście, nie możesz tego kontrolować, ale korzystanie z niego pozwala Ci zrobić coś bez znajomości SQL.
- Oblicz czas pomiędzy nieudanymi próbami logowania dla danego adresu IP.
- Masz narzędzie lub kod PHP, aby zresetować którykolwiek z tych liczników i zablokowanych adresów IP klientów. Co jeśli jakiś prawowity klient zostanie przypadkowo zablokowany?
Wygląda szalenie? Masz drugą opcję. Możesz poszukać w Google i pobrać fragmenty kodu z jakiegoś bloga w Internecie bez żadnej gwarancji i wsparcia.
Wniosek: W Internecie można znaleźć mnóstwo porad, jak ograniczyć próby logowania bez wtyczki. Ale wszystkie porady pochodzą od osób, które nie wiedzą nawet, jak dokładnie działa algorytm uwierzytelniania WordPress, w tym od miłych gości ze stackoverflow. Ale tak czy inaczej, możesz to zrobić, jeśli naprawdę nie martwisz się o bezpieczeństwo swojej witryny, ponieważ nie ma opcji, aby zrobić to dobrze bez umiejętności kodowania PHP i znajomości mechanizmu uwierzytelniania WordPress.