Vous souhaitez limiter l’accès par adresse IP à votre fichier wp-login.php dans WordPress ?
La page de connexion de WordPress est souvent la cible d’attaques DDoS et de pirates informatiques qui cherchent à accéder à votre site. Limiter l’accès à des adresses IP spécifiques permet de bloquer efficacement ces tentatives.
Dans cet article, nous allons vous afficher comment limiter facilement l’accès par IP à votre fichier wp-login.php dans WordPress.
Pourquoi limiter l’accès à wp-login.PHP par adresse IP ?
La page de connexion d’un site WordPress (en général, wp-login.php) est l’endroit où les utilisateurs/utilisatrices se connectent à votre site.
En tant que propriétaire de site, il vous donne accès à la zone d’administration de WordPress où vous pouvez effectuer la maintenance du site, rédiger du contenu et gérer votre site.
Cependant, les attaques par force brute les plus courantes sur Internet sont connues pour cibler la page wp-login.php afin d’accéder aux sites. Même si elles ne parviennent pas à entrer, elles peuvent être en mesure de ralentir votre site, voire de le faire planter.
Une façon de faire face à cette situation est de bloquer les adresses IP d’où proviennent les attaques (nous en parlerons ultérieurement dans l’article).
Une adresse IP est comme un numéro de téléphone qui identifie un ordinateur spécifique sur l’internet. Les modifiés peuvent utiliser des logiciels pour modifier leur adresse IP.
Cependant, les attaques plus sophistiquées utilisent un plus grand nombre d’adresses IP et il n’est pas toujours possible de les bloquer toutes.
Dans ce cas, vous pouvez limiter l’accès à des adresses IP spécifiques utilisées par vous-même et par d’autres utilisateurs/utilisatrices sur votre site.
Ceci étant dit, voyons comment limiter facilement l’accès au fichier wp-login.php par des adresses IP spécifiques en utilisant 3 moyens différents dont le pare-feu de sécurité cloud.
1. Limiter l’accès à la page de connexion de WordPress par adresse IP
Pour cette méthode, vous devez ajouter du code au fichier .htaccess.
Le fichier .htaccess est un fichier spécial de configuration du serveur qui se trouve dans le dossier racine de votre site et auquel vous pouvez accéder par FTP ou à l’aide de l’ application Gestionnaire de fichiers de votre panneau de contrôle d’hébergement WordPress.
Il vous suffit de vous connecter à votre site WordPress à l’aide d’un client FTP et de modifier votre fichier .htaccess en ajoutant le code suivant en haut.
<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>
N’oubliez pas de remplacer les XX par vos propres adresses IP. Vous pouvez facilement trouver votre adresse IP en visitant la page SupportAlly.
Si d’autres utilisateurs/utilisatrices doivent également se connecter à votre site, vous pouvez leur demander leur adresse IP. Vous pouvez ensuite les ajouter au fichier .htaccess.
Voici un autre exemple du code mentionné ci-dessus.
<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>
Désormais, les utilisateurs/utilisatrices ayant ces adresses IP pourront voir le fichier wp-login.php et se connecter à votre site. Les autres utilisateurs/utilisatrices verront le message d’erreur suivant :
2. Empêcher des adresses IP spécifiques d’accéder à votre site
Cette méthode est totalement opposée à la première.
Au lieu de limiter l’accès à la page de connexion de WordPress à des adresses IP spécifiques, vous pourrez bloquer les adresses IP utilisées pour attaquer votre site.
Cette méthode est particulièrement utile pour les sites web d’adhésion WordPress, les magasins e-commerce ou d’autres sites web où plusieurs utilisateurs/utilisatrices doivent se connecter afin de commander leurs comptes.
L’inconvénient de cette méthode est que les pirates peuvent modifier leur adresse IP et continuer à attaquer votre site.
Heureusement, bon nombre des tentatives courantes de piratage de WordPress utilisent un ensemble corrigé d’adresses IP, ce qui rend cette méthode efficace dans la plupart des cas.
Étape par étape : Trouver les adresses IP incriminées que vous souhaitez bloquer
Tout d’abord, vous devez trouver les adresses IP utilisées pour attaquer votre site.
Le moyen le plus simple de trouver les adresses IP incriminées est de consulter les journaux de votre serveur. Il vous suffit de vous rendre dans le panneau de contrôle de votre compte d’hébergeur et de cliquer sur l’icône « Raw Access » (accès brut).
Sur la page suivante, cliquez sur votre nom de domaine pour télécharger les journaux d’accès. Ceci téléchargera un fichier avec l’extension gz.
Vous devrez extraire le fichier et l’ouvrir avec un éditeur de texte tel que Notepad ou TextEdit.
Vous trouverez ici les adresses IP qui répètent la page wp-login.php.
Copiez et collez les adresses IP dans un fichier texte distinct sur votre ordinateur.
Étape par étape. Bloquer les adresses IP suspectes
Ensuite, vous devez vous connecter au panneau de contrôle de votre hébergeur WordPress et cliquer sur l’icône » Bloqueur d’IP « .
Sur l’écran suivant, il suffit de copier et de coller les adresses IP que vous souhaitez bloquer et de cliquer sur le bouton « Ajouter ».
Répétez le processus pour bloquer toutes les autres adresses IP suspectes que vous souhaitez.
C’est tout ! Vous avez bien terminé d’empêcher les adresses IP suspectes d’accéder à votre site.
Ultérieurement, si vous avez besoin de débloquer l’une de ces adresses IP, vous pouvez simplement le faire à partir de l’appli de blocage d’IP.
3. Protéger la connexion à WordPress avec Website Firewall
En tant qu’administrateur/administratrice de site, vous ne souhaitez peut-être pas passer trop de temps à gérer les adresses IP qui peuvent accéder à votre page de connexion WordPress.
La façon la plus simple de protéger vos pages de connexion WordPress est d’utiliser Sucuri. C’est le meilleur pare-feu WordPress qui accompagne une extension de sécurité WordPress complète.
Le pare-feu pour site web de Sucuri filtre automatiquement les adresses IP suspectes afin qu’elles n’accèdent pas aux fichiers importants du cœur de WordPress sans qu’ils n’atteignent jamais votre site.
Cette méthode permet également d’améliorer les performances et la vitesse de votre WordPress, car elle bloque les activités suspectes qui ralentissent votre serveur.
En outre, Sucuri est également doté d’un réseau CDN intégré. Il servirait automatiquement les fichiers statiques comme les images, les feuilles de style et le JavaScript à partir d’un serveur plus proche de vos utilisateurs/utilisatrices.
Vous pouvez facilement mettre sur liste autorisée les adresses IP des utilisateurs/utilisatrices s’ils ne peuvent pas accéder aux pages de connexion de WordPress.
Alternatives : MalCare ou Cloudflare Free CDN
Nous espérons que cet article vous a aidé à apprendre comment limiter l’accès par adresse IP à votre fichier wp-login.php. Vous pouvez également consulter notre guide complet sur la sécurité de WordPress ou voir ces astuces supplémentaires pour protéger la zone d’administration de WordPress.
Si vous avez aimé cet article, veuillez alors vous abonner à notre chaîne YouTube pour obtenir des tutoriels vidéo sur WordPress. Vous pouvez également nous trouver sur Twitter et 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.
Administrateur
Michael Pepper
Thanks for the article, helpful!
WPBeginner Support
Glad our article was helpful
Administrateur
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
Administrateur
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.
Administrateur
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
Administrateur
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.
Administrateur
Steve Pringle
You should mention that plugins (like JetPack) may have issues when you limit access.