Möchten Sie den Zugriff auf Ihre wp-login.php-Datei in WordPress nach IP-Adresse beschränken?
Die WordPress-Anmeldeseite wird häufig von DDoS-Angriffen und Hackern angegriffen, um Zugang zu Ihrer Website zu erhalten. Die Beschränkung des Zugriffs auf bestimmte IP-Adressen kann solche Versuche wirksam blockieren.
In diesem Artikel zeigen wir Ihnen, wie Sie den Zugriff auf Ihre wp-login.php-Datei in WordPress ganz einfach nach IP-Adresse beschränken können.
Warum den Zugriff auf wp-login.php nach IP-Adresse beschränken?
Die Anmeldeseite für eine WordPress-Website (in der Regel wp-login.php) ist der Ort, an dem sich Benutzer bei Ihrer Website anmelden.
Als Website-Besitzer haben Sie damit Zugriff auf den WordPress-Verwaltungsbereich, in dem Sie die Website pflegen, Inhalte schreiben und Ihre Website verwalten können.
Es ist jedoch bekannt, dass gängige Brute-Force-Angriffe im Internet auf die Seite wp-login.php abzielen, um Zugang zu Websites zu erhalten. Selbst wenn es ihnen nicht gelingt, sich Zugang zu verschaffen, können sie Ihre Website verlangsamen oder sogar zum Absturz bringen.
Eine Möglichkeit, mit dieser Situation umzugehen, besteht darin, die IP-Adressen, von denen die Angriffe ausgehen, zu blockieren (wir werden später in diesem Artikel darauf eingehen).
Eine IP-Adresse ist wie eine Telefonnummer, die einen bestimmten Computer im Internet identifiziert. Hacker können Software verwenden, um ihre IP-Adressen zu ändern.
Raffiniertere Angriffe verwenden jedoch einen größeren Pool von IP-Adressen, und es ist möglicherweise nicht möglich, alle zu blockieren.
In diesem Fall können Sie den Zugriff auf bestimmte IP-Adressen beschränken, die von Ihnen und anderen Nutzern Ihrer Website verwendet werden.
Sehen wir uns also an, wie man den Zugriff auf die Datei wp-login.php durch bestimmte IP-Adressen auf 3 verschiedene Arten einschränken kann, einschließlich einer Cloud Security Firewall.
1. Beschränkung des Zugriffs auf die WordPress-Anmeldeseite nach IP-Adresse
Bei dieser Methode müssen Sie einen Code in die .htaccess-Datei einfügen.
Die .htaccess-Datei ist eine spezielle Server-Konfigurationsdatei, die sich im Stammverzeichnis Ihrer Website befindet und auf die Sie per FTP oder über die Dateimanager-App in Ihrem WordPress-Hosting-Kontrollpanel zugreifen können.
Verbinden Sie sich einfach mit einem FTP-Client mit Ihrer WordPress-Website und bearbeiten Sie Ihre .htaccess-Datei, indem Sie den folgenden Code am Anfang hinzufügen.
<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>
Vergessen Sie nicht, die XXs durch Ihre eigenen IP-Adressen zu ersetzen. Sie können Ihre IP-Adresse leicht herausfinden, indem Sie die SupportAlly-Seite besuchen.
Wenn Sie andere Benutzer haben, die sich ebenfalls bei Ihrer Website anmelden müssen, können Sie diese bitten, ihre IP-Adressen anzugeben. Diese können Sie dann ebenfalls in die .htaccess-Datei aufnehmen.
Hier ein weiteres Beispiel für den oben erwähnten Code.
<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>
Benutzer mit diesen IP-Adressen können nun die Datei wp-login.php anzeigen und sich auf Ihrer Website anmelden. Andere Benutzer werden die folgende Fehlermeldung sehen:
2. Blockieren bestimmter IP-Adressen für den Zugriff auf Ihre Website
Diese Methode ist das genaue Gegenteil der ersten Methode.
Anstatt den Zugriff auf die WordPress-Anmeldeseite auf bestimmte IP-Adressen zu beschränken, können Sie IP-Adressen blockieren, die für Angriffe auf Ihre Website verwendet werden.
Diese Methode ist besonders nützlich für WordPress-Mitgliedschaftswebsites, eCommerce-Shops oder andere Websites, bei denen sich mehrere Benutzer anmelden müssen, um auf ihre Konten zuzugreifen.
Der Nachteil dieser Methode ist, dass Hacker ihre IP-Adressen ändern und weiterhin Ihre Website angreifen können.
Glücklicherweise verwenden viele der gängigen WordPress-Hacking-Versuche einen festen Satz von IP-Adressen, was diese Methode in den meisten Fällen effektiv macht.
Schritt 1: Finden Sie die zu sperrenden IP-Adressen
Zunächst müssen Sie die IP-Adressen ermitteln, die für die Angriffe auf Ihre Website verwendet werden.
Am einfachsten finden Sie die beanstandeten IP-Adressen, indem Sie sich Ihre Serverprotokolle ansehen. Gehen Sie einfach in die Systemsteuerung Ihres Hosting-Kontos und klicken Sie auf das Symbol „Raw Access“-Protokolle.
Auf der nächsten Seite klicken Sie auf Ihren Domänennamen, um die Zugriffsprotokolle herunterzuladen. Dadurch wird eine Datei mit der Erweiterung gz heruntergeladen.
Sie müssen die Datei extrahieren und sie mit einem Texteditor wie Notepad oder TextEdit öffnen.
Hier finden Sie die IP-Adressen, die wiederholt auf die Seite wp-login.php zugreifen.
Kopieren Sie die IP-Adressen und fügen Sie sie in eine separate Textdatei auf Ihrem Computer ein.
Schritt 2. Blockieren verdächtiger IP-Adressen
Als Nächstes müssen Sie sich in Ihr WordPress-Hosting-Kontrollpanel einloggen und auf das Symbol „IP-Blocker“ klicken.
Kopieren Sie auf dem nächsten Bildschirm einfach die IP-Adressen, die Sie blockieren möchten, und klicken Sie auf die Schaltfläche „Hinzufügen“.
Wiederholen Sie den Vorgang, um weitere verdächtige IP-Adressen zu blockieren.
Das war’s schon! Sie haben verdächtige IP-Adressen erfolgreich vollständig vom Zugriff auf Ihre Website abgehalten.
Wenn Sie später eine dieser IP-Adressen wieder freigeben müssen, können Sie dies einfach über die IP-Blocker-App tun.
3. Schutz des WordPress-Logins mit der Website-Firewall
Als Website-Administrator möchten Sie vielleicht nicht zu viel Zeit damit verbringen, IP-Adressen zu verwalten, die auf Ihre WordPress-Anmeldeseite zugreifen können.
Der einfachste Weg, Ihre WordPress-Anmeldeseiten zu schützen, ist die Verwendung von Sucuri. Es ist die beste WordPress-Firewall, die mit einem umfassenden WordPress-Sicherheits-Plugin einhergeht.
Die Website-Firewall von Sucuri filtert automatisch verdächtige IP-Adressen vor dem Zugriff auf wichtige WordPress-Kerndateien, ohne dass diese jemals Ihre Website erreichen.
Diese Methode verbessert auch die Leistung und Geschwindigkeit von WordPress, da sie verdächtige Aktivitäten blockiert, die Ihren Server verlangsamen.
Darüber hinaus verfügt Sucuri auch über ein integriertes CDN-Netzwerk. Es stellt automatisch statische Dateien wie Bilder, Stylesheets und JavaScript von einem Server bereit, der näher bei Ihren Nutzern steht.
Sie können die IP-Adressen von Benutzern ganz einfach auf eine Whitelist setzen, wenn diese nicht auf die WordPress-Anmeldeseiten zugreifen können.
Alternativen: MalCare oder Cloudflare Free CDN
Wir hoffen, dass dieser Artikel Ihnen geholfen hat zu lernen, wie Sie den Zugriff auf Ihre wp-login.php-Datei nach IP-Adresse beschränken können. Vielleicht interessieren Sie sich auch für unseren vollständigen WordPress-Sicherheitsleitfaden oder diese zusätzlichen Tipps zum Schutz des WordPress-Adminbereichs.
Wenn Ihnen dieser Artikel gefallen hat, dann abonnieren Sie bitte unseren YouTube-Kanal für WordPress-Videotutorials. Sie können uns auch auf Twitter und Facebook finden.
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.
Admin
Michael Pepper
Thanks for the article, helpful!
WPBeginner Support
Glad our article was helpful
Admin
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
Admin
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.
Admin
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
Admin
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.
Admin
Steve Pringle
You should mention that plugins (like JetPack) may have issues when you limit access.