Czy chcesz ograniczyć dostęp według adresu IP do twojego pliku wp-login.php w WordPress?
Strona logowania WordPress jest często atakowana przez ataki DDoS i hakerów w celu uzyskania dostępu do twojej witryny internetowej. Ograniczenie dostępu do określonych adresów IP może skutecznie zablokować takie próby.
W tym artykule pokażemy, jak łatwo ograniczyć dostęp przez IP do twojego pliku wp-login.php w WordPress.
Dlaczego ograniczać dostęp do wp-login.php przez adres IP?
Strona logowania do witryny internetowej WordPress (zazwyczaj wp-login.php) to miejsce, w którym użytkownicy logują się do twojej witryny.
Jako właściciel witryny internetowej daje ci dostęp do obszaru administracyjnego WordPress, w którym możesz przeprowadzać konserwację witryny, pisać treści i zarządzać witryną.
Jednak powszechne ataki sił owe w Internecie są znane z atakowania strony wp-login.php w celu uzyskania dostępu do witryn internetowych. Nawet jeśli nie uda im się uzyskać dostępu, mogą spowolnić twoją witrynę internetową lub nawet spowodować jej awarię.
Jednym ze sposobów radzenia sobie z tą sytuacją jest blokowanie adresów IP, z których pochodzą ataki (Zamierzasz o tym porozmawiać w dalszej części artykułu).
Adres IP jest jak numer telefonu, który identyfikuje konkretny komputer w Internecie. Hakerzy mogą używać oprogramowania do zmiany adresów IP.
Jednak bardziej wyrafinowane ataki wykorzystują większą pulę adresów IP i może nie być możliwe zablokowanie ich wszystkich.
W takim przypadku możesz ograniczyć dostęp do określonych adresów IP używanych przez Ciebie i innych użytkowników Twojej witryny internetowej.
Biorąc to pod uwagę, przyjrzyjmy się, jak łatwo ograniczyć dostęp do pliku wp-login.php przez określone adresy IP przy użyciu 3 różnych sposobów, w tym zapory bezpieczeństwa w chmurze.
1. Ograniczenie dostępu do strony logowania WordPress według adresu IP
W przypadku tej metody konieczne będzie dodanie kodu do pliku .htaccess.
Plik .htaccess to specjalny plik konfiguracyjny serwera, który znajduje się w katalogu głównym twojej witryny internetowej i do którego można uzyskać dostęp za pomocą FTP lub aplikacji Menedżer plików w panelu sterowania hostingu WordPress.
Wystarczy połączyć się z twoją witryną WordPress za pomocą klienta FTP i edytować plik .htaccess, dodając następujący kod na górze.
<Files wp-login.php>
order deny,allow
Deny from all
# whitelist Your own IP address
allow from xx.xxx.xx.xx
#whitelist some other user's IP Address
allow from xx.xxx.xx.xx
</Files>
Nie zapomnij zastąpić XX Twoim własnym adresem IP. Możesz łatwo znaleźć twój adres IP, przechodząc na stronę SupportAlly.
Jeśli masz innych użytkowników, którzy również muszą logować się do twojej witryny internetowej, możesz poprosić ich o podanie swoich adresów IP. Można je następnie dodać do pliku .htaccess.
Oto kolejny przykład powyższego kodu.
<Files wp-login.php>
order deny,allow
Deny from all
# Whitelist John as website administrator
allow from 35.199.128.0
#Whitelist Tina as Editor
allow from 108.59.80.0
# Whitelist Ali as moderator
allow from 216.239.32.0
</Files>
Teraz użytkownicy z tymi adresami IP będą mogli zobaczyć plik wp-login.php i zalogować się do twojej witryny internetowej. Inni użytkownicy zobaczą następujący komunikat o błędzie:
2. Blokowanie określonych adresów IP przed dostępem do twojej witryny internetowej
Ta metoda jest całkowitym przeciwieństwem pierwszej metody.
Zamiast ograniczać dostęp do strony logowania WordPress do określonych adresów IP, będziesz mógł blokować adresy IP używane do atakowania twojej witryny internetowej.
Ta metoda jest szczególnie przydatna w przypadku witryn członkowskich WordPress, sklepów e-handel lub innych witryn internetowych, w których wielu użytkowników musi się zalogować, aby uzyskać dostęp do swoich kont.
Wadą tej metody jest to, że hakerzy mogą zmienić swój adres IP i kontynuować atak na twoją witrynę internetową.
Na szczęście wiele typowych prób włamań do WordPressa wykorzystuje poprawki adresów IP, co czyni tę metodę skuteczną w większości przypadków.
Krok 1: Znalezienie obraźliwych adresów IP, które chcesz zablokować
Po pierwsze, musisz znaleźć adresy IP używane do atakowania twojej witryny internetowej.
Najłatwiejszym sposobem na znalezienie obraźliwych adresów IP jest przejrzenie logów twojego serwera. Wystarczy przejść do panelu sterowania twojego konta hostingowego i kliknąć ikonkę „Raw Access”.
Na następnej stronie kliknij nazwę twojej domeny, aby pobrać logi dostępu. Spowoduje to pobranie pliku z rozszerzeniem gz.
Należy wyodrębnić plik i otworzyć go za pomocą edytora tekstu, takiego jak Notatnik lub TextEdit.
Tutaj znajdziesz adresy IP, które wielokrotnie trafiają na stronę wp-login.php.
Skopiuj i wklej adresy IP do osobnego pliku tekstowego na twoim komputerze.
Krok 2. Blokowanie podejrzanych adresów IP
Następnie należy logować się do twojego panelu kontrolnego hostingu WordPress i kliknąć ikonkę „IP Blocker”.
Na następnym ekranie wystarczy skopiować i wkleić adresy IP, które mają zostać zablokowane, a następnie kliknąć przycisk „Dodaj”.
Powtórz ten proces, aby zablokować inne podejrzane adresy IP.
To wszystko! Udało ci się całkowicie zablokować podejrzanym adresom IP dostęp do twojej witryny internetowej.
Później, jeśli zajdzie potrzeba odblokowania jednego z tych adresów IP, można to po prostu zrobić z poziomu aplikacji do blokowania adresów IP.
3. Zabezpieczenie logowania do WordPressa za pomocą zapory witryny internetowej
Jako administrator witryny internetowej możesz nie chcieć poświęcać zbyt wiele czasu na zarządzanie adresami IP, które mogą uzyskać dostęp do twojej strony logowania WordPress.
Najprostszym sposobem na zabezpieczenie twoich stron logowania WordPress jest użycie Sucuri. Jest to najlepsza zapora WordPress, która towarzyszy kompleksowej wtyczce zabezpieczeń WordPress.
Zapora sieciowa Sucuri automatycznie odfiltrowuje podejrzane adresy IP przed dostępem do ważnych plików rdzenia WordPressa, które nigdy nie docierają do twojej witryny internetowej.
Ta metoda poprawia również wydajność i szybkość twojego WordPressa, ponieważ blokuje podejrzane włączanie spowalniające twój serwer.
Co więcej, Sucuri posiada również wbudowaną sieć CDN. Będzie ona automatycznie obsługiwać pliki statyczne, takie jak obrazki, arkusze stylów i JavaScript, z serwera znajdującego się bliżej twoich użytkowników.
Możesz łatwo umieścić adresy IP użytkowników na białej liście, jeśli nie mogą oni uzyskać dostępu do stron logowania WordPress.
Alternatywy: MalCare lub Cloudflare Free CDN
Mamy nadzieję, że ten artykuł pomógł ci dowiedzieć się, jak ograniczyć dostęp przez adres IP do twojego pliku wp-login.php. Możesz również zapoznać się z naszym kompletnym przewodnikiem po zabezpieczeniach WordPress lub zapoznać się z tymi dodatkowymi wskazówkami dotyczącymi ochrony obszaru administracyjnego WordPress.
If you liked this article, then please subscribe to our YouTube Channel for WordPress video tutorials. You can also find us on Twitter and Facebook.
Jiří Vaněk
I copied the directives to the website, adjusted the IP addresses, and placed them in the .htaccess file. It works perfectly for both IP addresses that are now set in the .htaccess.
Av
in regards to a woocommerce site, is this function useful?
login can be done from my-account page.
WPBeginner Support
If you have multiple users logging in to your site for something like WooCommerce then this would not be something you would use. This would normally be for a site with a limited number of users.
Administrator
Michael Pepper
Thanks for the article, helpful!
WPBeginner Support
Glad our article was helpful
Administrator
Mick
For some reason when I use this the whitelisted ip is blocked too.
any idea why?
WPBeginner Support
You may want to ensure you set the correct IP and if you are using a VPN or something similar that may be the root of the issue
Administrator
Bahar Ali
I used the above code and it somehow apply’s to every page of the site for example my home even shows prohibited.
WPBeginner Support
You may first want to check with your hosting provider to ensure there isn’t a conflicting setup on their end.
Administrator
Unni Krishnan
Good One guys,
As you stated in the last section, I do have dynamic IPs for my mobile connection. Though I have white listed my Broadband IP, getting stuck while accessing on the go.
Do you know if any plugins help to solve this ?
Unni Krishnan
Also, such requests to wp-login.php are getting redirected to the homepage. Is this normal ?
FrancescoElzy
Hmm it seems like your blog ate my first comment (it was super long) so I guess I’ll just sum it up what I wrote and say, I’m thoroughly enjoying your blog. I too am an aspiring blog blogger but I’m still new to the whole thing. Do you have any helpful hints for newbie blog writers? I’d genuinely appreciate it.
Stéfano Willig
We have made our ftp accessable only by certain IP.
Now I can’t install or update wordpress directly via wordpress…
What can I do?
Jobbatam
Great tips and works for me.
But, Can i redirect wp-login to error 404?
If can, what code i add into code above?
thanks
MargaretMacnamar
It’s very simple to find out any matter on net as compared to textbooks, as I found this post at this website.
EQHRaymond
Thank you for the function. Post aided me a whole lot
Rex Wickham
If you want to add more than one IP you can do this:
1. you can use a partial IP:
Allow from 145.50.39
This will allow IP from 145.50.39.0 to 145.50.39.255
2. you can use a netmask or a CIDR:
Allow from 145.50.39.0/255.255.255.224
or
Allow from 145.50.39.0/27
This will allow IP from 145.50.39.0 to 145.50.39.31.
Julius Musembi
This is a great workaround.
David Swanson
I added the code to my .htaccess but when my users logout they receive Error 403.
When they click logout the link is /wp-login.php?action=logout
Anyway to fix this?
Brijesh
Great Tip! But i got a problem. It locks admin login from others ips, but if a registered user sign out from site, code also restricts that. I mean when user click sign out, it gives forbidden message. How to solve it?
Rafaqat
Thanks for your quick guideline to protect from excessive and illegal log in attempts. Actually there is a free plugin „better wp security” that can manage nearly all security issues regarding,login attempts,wp.config file,.htaccess file and many more. I think one should give it a try.
Kris
To get around the dynamic IP issue you can reference an htpasswd.
Baptiste Legrand
Thanks for this great tip ! But i’m a but confused : should I paste this snippet in my root .htacess file, or into my wordpress/.htaccess file ?
Cheers (and btw, I just LOVE wpbegginer.com, keep up the good work !)
Editorial Staff
Paste it in your wordpress/.htaccess
Administrator
Editorial Staff
With dynamic IPs this can be a pain. You can set Apache Protect on it, but that is a bit more complex. #whitelist line is just to let me know which IP is which.
Administrator
Steve Pringle
You should mention that plugins (like JetPack) may have issues when you limit access.