Ceci est un article invité par Eric Sizemore, un développeur web, programmeur et domainer.
À la lumière des événements récents, toute personne utilisant WordPress est apparemment susceptible à ce que l'on appelle le « piratage distribué de comptes d'administration WordPress ». Vous pouvez consulter cet article pour plus d'informations. Cet article vise à fournir une couche de sécurité supplémentaire à la fois à votre dossier wp-admin et à votre fichier wp-login.php.
Étape 1 – Déterminer qui aura accès
Tout d'abord, cette couche de sécurité supplémentaire consiste à bloquer toutes les IP sauf quelques-unes. Si votre IP est dynamique, ce n'est peut-être pas la meilleure option pour vous. Si vous avez beaucoup d'utilisateurs auxquels vous autorisez l'accès à votre blog, cela peut devenir fastidieux. Si vous êtes le seul auteur du blog et que vous n'autorisez pas les inscriptions de toute façon, ce sera assez simple.
Étape 2 – Création du .htaccess
Tout d'abord, obtenons votre adresse IP. Allez sur IPChicken et notez votre adresse IP. Ensuite, téléchargez les fichiers .htaccess qui ont été créés pour cet article.
Une fois que vous aurez extrait l'archive, vous devriez voir un fichier .htaccess et un dossier wp-admin avec un fichier .htaccess à l'intérieur. Ouvrez le fichier .htaccess principal et vous devriez voir :
<Fichiers wp-login.php>
Ordre Refuser,Autoriser
Refuser de tous
Autoriser de xx.xx.xx.xx
</Fichiers>
Modifiez la ligne « Allow from » pour qu'elle corresponde à votre adresse IP. Pour ajouter d'autres adresses IP, ajoutez une nouvelle ligne avec « Allow from » et l'adresse IP suivante, et ainsi de suite. Maintenant, il y a de fortes chances que vous ayez déjà un fichier .htaccess dans votre dossier WordPress racine. Si c'est le cas, modifiez le fichier et copiez-collez le contenu de votre fichier .htaccess modifié depuis le zip, puis enregistrez/téléchargez à nouveau.
Ouvrez maintenant le fichier .htaccess dans le dossier wp-admin de l'archive zip. Vous devriez voir quelque chose comme ceci :
Refuser, autoriser la commande
Refuser tout
Autoriser depuis xx.xx.xx.xx
Faites comme vous avez fait ci-dessus. Et ajoutez tous les adresses IP supplémentaires que vous souhaitez autoriser dans la zone wp-admin. Il y a de fortes chances que vous n'ayez pas de fichier .htaccess dans votre dossier wp-admin, alors téléchargez simplement le fichier .htaccess édité depuis le zip dans votre dossier wp-admin.
Étape 3 – Vous avez terminé
Et c'est tout ! 🙂
Pas de fichiers à télécharger.
Parfait
Je rencontre un problème inacceptable avec une adresse IP, mais cela fonctionne avec une autre adresse IP. Avez-vous une solution ?
Vous pourriez vouloir contacter le support de votre hébergeur à ce sujet.
Je sais que ce site Web publie des articles et d'autres contenus de qualité, existe-t-il un autre
site Web qui présente des données de qualité similaire ?
Ne fonctionne pas. J'ai obtenu : Erreur interne du serveur
Vous pourriez vouloir contacter le support de votre hébergeur à ce sujet.
Merci. Exactement ce que je cherchais
Nous sommes heureux que vous ayez trouvé cela utile 🙂
salut à tous,
J'ai une restriction d'IP sur mon site pour wp-login.php dans .htaccess. mais, mes clients ne peuvent pas se déconnecter, affichant une erreur de restriction d'IP. quelqu'un peut-il me donner une meilleure solution pour la restriction d'IP uniquement pour la page de connexion administrateur.
Quel est le code de la restriction que vous utilisez ? A-t-il été ajouté uniquement au dossier wp-admin ?
Il n'y a pas de connexion différente pour l'administrateur. Le problème avec la déconnexion, c'est que WP utilise wp-login.php pour la connexion *et* la déconnexion.
La meilleure option est de créer une page de déconnexion différente pour les clients.
Attention : Si votre site web Wordpress utilise Woocommerce, le code ci-dessous empêchera l'envoi des e-mails de nouvelles commandes !
Bonjour, Merci pour l'article utile, je suis en mesure d'ajouter une couche de sécurité supplémentaire à mon site Web.
Mais j'ai 1 question, cela n'autorisera que mon IP à accéder au tableau de bord WP-admin, etc. Cela affecte-t-il les plugins ou les fichiers, etc., je veux dire, ont-ils besoin ou n'ont-ils pas besoin de la connexion à la page wp-login ?
Ce code est spécifiquement destiné à bloquer l'accès à la page de connexion. Cela dit, si les plugins installés ont été codés correctement, alors si un visiteur ne peut pas se connecter, il ne devrait pas avoir accès aux pages d'administration.
Ça n'a pas marché pour moi.
Ça marche, je l'ai trouvé dans un de mes anciens projets 🙂
RewriteEngine on
RewriteCond %{REQUEST_URI} ^(.*)?wp-login\.php(.*)$ [OR]
RewriteCond %{REQUEST_URI} ^(.*)?wp-admin$
RewriteCond %{REMOTE_ADDR} !^95\.154\.22\.86$
RewriteCond %{REMOTE_ADDR} !^77\.243\.128\.133$
RewriteRule ^(.*)$ – [R=403,L]
L'option Rewrite fonctionne pour moi mais je ne peux pas accéder à la page web d'administration depuis localhost
Cela ne fonctionne pas sur Apache 2.4 car order allow,deny est obsolète.
Vous devez utiliser mod_rewrite.c à la place.
Quelqu'un pourrait-il m'aider à savoir quelles adresses IP nous sommes censés entrer dans le fichier htaccess. Est-ce l'IP publique que je vois lorsque je recherche mon IP sur Google, ou est-ce celle statique ?
Très utile en matière de sécurité. J'ai récemment subi quelques attaques sur mon site wp et je cherche une bonne solution.
Après avoir laissé ce système en place pendant quelques mois maintenant, j'ai pu me détendre. Cela semble fonctionner car j'avais déjà été piraté plusieurs fois auparavant.
J'utilise une plage d'adresses IP au lieu d'une adresse IP spécifique dans mon .htaccess et cela fonctionne à merveille. Merci beaucoup.
Heureux d'apprendre que cela fonctionne pour vous. 😀
Merci pour l'info
J'étais très frustré car mon blog s'est fait pirater pour la quatrième fois.
Je voulais être sûr à 100% d'arrêter toutes les attaques de bots.
Ces derniers jours, j'ai essayé de nombreux plugins, y compris askapache, mais cela ne fonctionne pas bien en raison d'un problème avec mon hébergement.
Enfin, j'ai obtenu une solution personnalisée, j'ai placé un fichier .htaccess dans le dossier wp-admin et je l'ai verrouillé par IP pour qu'il ne s'ouvre qu'avec ma plage d'adresses IP. et ça marche. Maintenant, aucun bot ne peut essayer de consulter mes options et mes fichiers de configuration. À moins que le bot ne soit lui-même sur mon PC.
: )
Cordialement
Mais j'accède à mon site depuis toutes sortes d'endroits, y compris mon téléphone portable.
Ce que j'aimerais vraiment, c'est restreindre l'accès partout en dehors de l'Amérique du Nord, et cela réduirait probablement beaucoup le piratage, n'est-ce pas ?
Oui, c'est toujours ouvert mais beaucoup moins large qu'auparavant.
Quelqu'un a-t-il essayé quelque chose comme ça ?
Peut-être, mais il faudrait l'intégrer à une base de données de géolocalisation IP, ce qui pourrait être un peu excessif pour ce genre de chose.
Si vous vous connectez depuis de nombreux endroits/IP, vous voudrez peut-être envisager quelque chose comme Login Lockdown.
Le plugin Login Lockdown est également bien. Limite puis bannit les tentatives de connexion échouées. Un peu comme IPtables pour wp.
http://wordpress.org/extend/plugins/login-lockdown/
Nous l'avons ajouté à notre pré-installation pour les clients de page.ly afin qu'il soit activé par défaut après l'inscription.
PS.. j'adore le nouveau design de themelab.com.
Cela semble assez efficace. Surtout si vous vous connectez depuis de nombreux endroits différents avec des adresses IP différentes, il peut ne pas être pratique d'ajouter une règle .htaccess pour chacun d'eux.
Et je suis content que vous aimiez le design !
@Elizabeth : Pas de problème ! Faites-moi savoir comment cela fonctionne pour vous.
Merci beaucoup pour cela.
J'ai subi des tentatives d'exploitation sur plusieurs de mes sites web WordPress et j'ai utilisé ht.access pour bloquer les adresses IP individuelles. Mais cela semble beaucoup plus efficace. J'espère que cela fonctionnera bien.
Merci Leland.
@badcat : C'est une bonne question, mais je ne pense pas que vous aurez besoin de répéter le processus car ces fichiers .htaccess ne sont pas inclus dans la mise à niveau réelle.
Devrez-vous répéter ce processus après la sortie d'une nouvelle version de WordPress ?
Ou serait-il plus judicieux de refuser le dossier wp-admin dans le fichier .htaccess de la racine du site, étant donné que celui-ci n'est pas mis à jour lorsque WP met à jour son cœur ?