Vill du begränsa åtkomst via IP-adress till din wp-login.php-fil i WordPress?
WordPress login page attackeras ofta av DDoS-attacker och hackare för att få tillgång till din website. Genom att limitera åtkomsten till specifika IP-adresser kan sådana försök blockeras effektivt.
I den här artikeln visar vi dig hur du enkelt kan limitera åtkomst via IP till din wp-login.php-fil i WordPress.
Varför begränsa åtkomst till wp-login.php efter IP-adress?
Login page för en WordPress-webbplats (vanligtvis, wp-login.php), är där användare går för att logga in på din webbplats.
Som webbplatsägare får du tillgång till admin area i WordPress där du kan utföra hantering av webbplatsen, skriva content och hantera din website.
Det är dock känt att vanliga brute force-attacker på internet riktar in sig på wp-login.php page för att få tillgång till websites. Även om de misslyckas med att ta sig in kan de fortfarande sakta ner din website eller till och med krascha den.
Ett sätt att hantera den här situationen är att blockera de IP-adresser som attackerna kommer ifrån (vi pratar om det här senare i artikeln).
En IP-adress gillar ett telefonnummer som identifierar en viss dator på internet. Hackare kan använda programvara för att ändra sina IP-adresser.
Mer sofistikerade attacker använder dock en större pool av IP-adresser och det kanske ej är möjligt att blockera dem all.
I så fall kan du begränsa åtkomsten till specifika IP-adresser som används av dig själv och andra användare på din website.
Med detta sagt, låt oss ta en titt på hur man enkelt kan limit åtkomst till wp-login.php-filen med specifika IP-adresser med hjälp av 3 olika sätt inklusive cloud security firewall.
1. Limitera åtkomst till WordPress login page efter IP-adress
För den här metoden måste du add to lite kod till .htaccess-filen.
.htaccess-filen är en speciell konfigurationsfil för servern som finns i rotmappen på din website och kan nås via FTP eller appen File Manager på kontrollpanelen på ditt WordPress webbhotell.
Anslut bara till din WordPress site med hjälp av en FTP-klient och edit din .htaccess-fil genom att lägga till följande kod högst upp.
<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>
Glöm inte att ersätta XX med dina egna IP-adresser. Du kan enkelt hitta din IP-adress genom att besöka SupportAlly-sidan.
Om du har andra användare som också behöver logga in på din website kan du be dem att ange sina IP-adresser. You can then add those to the .htaccess file as well.
Här är ett annat exempel på ovan nämnda kod.
<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>
Nu kommer användare med dessa IP-adresser att kunna view filen wp-login.php och logga in på din website. Andra användare kommer att se följande message error:
2. Blockera specifika IP-adresser från att komma åt din website
Den här metoden är raka motsatsen till den första metoden.
Istället för att limitera åtkomst till login page på WordPress till specifika IP-adresser, kommer du att kunna blockera IP-adresser som används för att attackera din website.
Denna metod är viss användbar för WordPress medlemswebbplatser, ecommerce stores eller andra webbplatser där flera användare behöver login för att få tillgång till sina konton.
Nackdelen med den här metoden är att hackare kan ändra sina IP-adresser och fortsätta attackera din website.
Lyckligtvis använder många av de vanliga WordPress-hackningsförsöken en fixed uppsättning IP-adresser vilket gör den här metoden effektiv i de flesta fall.
Step-by-Step 1: Hitta de IP-adresser du vill blockera
Först måste du hitta de IP-adresser som används för att attackera din website.
Det enklaste sättet att hitta de felaktiga IP-adresserna är genom att titta på loggingarna på din server. Det är bara att heada över till kontrollpanelen för ditt webbhotell account och clicka på ikonen för loggar för ”Raw Access”.
På nästa page, click on your domain name to download the access logs. Detta kommer att downloada en fil med utökning gz.
Du måste extrahera filen och öppna den med en textredigerare som gillar Notepad eller TextEdit.
Härifrån hittar du de IP-adresser som upprepade gånger träffar wp-login.php-sidan.
Copy and paste IP-adresserna till en separat textfil på din dator.
Steg 2. Blockera misstänkta IP-adresser
Därefter måste du logga in på din kontrollpanel för webbhotell WordPress och klicka på ikonen ”IP Blocker”.
På nästa vy är det bara att copy and paste de IP-adresser du vill blockera och clicka på knappen ”Add”.
Upprepa processen för att blockera alla andra misstänkta IP-adresser du vill ha.
Det är all! Du har utan problem blockerat misstänkta IP-adresser från att komma åt din website helt och hållet.
Om du senare behöver avblockera en av dessa IP-adresser kan du helt enkelt göra det från IP-blockeringsappen.
3. Skydda WordPress login med Website Firewall
Som administratör av en website kanske du inte vill lägga för mycket tid på att hantera IP-adresser som kan komma åt din login page på WordPress.
Det enklaste sättet att skydda dina WordPress login pages är att använda Sucuri. Det är den bästa WordPress firewall som följer med en omfattande WordPress security plugin.
Sucuris webbplatsbrandvägg filtrerar automatiskt misstänkta IP-adresser från att komma åt viktiga WordPress core-filer utan att de någonsin når din website.
Denna metod förbättrar också din WordPress prestanda och hastighet eftersom den blockerar misstänkta aktiviteter från att sakta ner din server.
Högst upp med det kommer Sucuri också med ett built-in CDN-nätverk. Det skulle automatiskt servera statiska filer som gillar images, stylesheets och JavaScript från en server närmare dina användare.
Du kan enkelt whitelista IP-adresserna för användare om de inte kan komma åt WordPress login pages.
Alternativ: MalCare eller Cloudflare gratis CDN
Vi hoppas att den här artikeln hjälpte dig att lära dig hur du begränsar åtkomst via IP-adress till din wp-login.php-fil. Du kanske också vill se vår kompletta guide till WordPress-säkerhet eller se dessa ytterligare tips för att skydda WordPress admin area.
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.
Syed Balkhi says
Hey WPBeginner readers,
Did you know you can win exciting prizes by commenting on WPBeginner?
Every month, our top blog commenters will win HUGE rewards, including premium WordPress plugin licenses and cash prizes.
You can get more details about the contest from here.
Start sharing your thoughts below to stand a chance to win!
Jiří Vaněk says
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 says
in regards to a woocommerce site, is this function useful?
login can be done from my-account page.
WPBeginner Support says
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.
Administratör
Michael Pepper says
Thanks for the article, helpful!
WPBeginner Support says
Glad our article was helpful
Administratör
Mick says
For some reason when I use this the whitelisted ip is blocked too.
any idea why?
WPBeginner Support says
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
Administratör
Bahar Ali says
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 says
You may first want to check with your hosting provider to ensure there isn’t a conflicting setup on their end.
Administratör
Unni Krishnan says
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 says
Also, such requests to wp-login.php are getting redirected to the homepage. Is this normal ?
FrancescoElzy says
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 says
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 says
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 says
It’s very simple to find out any matter on net as compared to textbooks, as I found this post at this website.
EQHRaymond says
Thank you for the function. Post aided me a whole lot
Rex Wickham says
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 says
This is a great workaround.
David Swanson says
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 says
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 says
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 says
To get around the dynamic IP issue you can reference an htpasswd.
Baptiste Legrand says
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 says
Paste it in your wordpress/.htaccess
Administratör
Editorial Staff says
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.
Administratör
Steve Pringle says
You should mention that plugins (like JetPack) may have issues when you limit access.