Trusted WordPress tutorials, when you need them most.
Beginner’s Guide to WordPress
Coupe WPB
25 Million+
Websites using our plugins
16+
Years of WordPress experience
3000+
WordPress tutorials
by experts

Comment protéger par mot de passe votre répertoire d’administration WordPress (wp-admin)

Les propriétaires de sites Web doivent donner la priorité à la sécurité de WordPress pour protéger leurs données sensibles et maintenir la confiance de leurs utilisateurs/utilisatrices. Une façon très efficace de le faire chez WPBeginner est de protéger par mot de passe notre répertoire d’administration WordPress.

Le répertoire wp-admin est le centre de contrôle de votre site WordPress. C’est là que vous gérez tout, du contenu aux Réglages, ce qui en fait une cible de choix pour les pirates. La protection par mot de passe de vos fichiers d’administration les mettra à l’abri des attaques.

Cet article propose un guide simple pour protéger facilement votre répertoire wp-admin par un mot de passe et renforcer la sécurité de votre site.

How to Password Protect Your WordPress Admin (wp-admin) Directory

Pourquoi protéger par mot de passe votre répertoire d’administration WordPress ?

En protégeant votre répertoire d’administration WordPress par un mot de passe, vous ajoutez une calque de sécurité supplémentaire au point d’entrée le plus important de votre site WordPress.

Le tableau de bord WordPress est l’élément central de votre site. C’est là que vous publiez des publications et des pages, que vous personnalisez votre thème, que vous installez des extensions WordPress, etc.

Souvent, lorsque des pirates tentent de s’introduire sur votre site, ils le font via l’écran wp-admin en utilisant une attaque par force brute.

Vous pouvez protéger votre site web contre les attaques potentielles en utilisant des mesures de sécurité telles qu’un mot de passe fort et en limitant les tentatives de connexion.

Pour plus de sécurité, vous pouvez également protéger le répertoire wp-admin par un mot de passe. Ainsi, lorsque quelqu’un tentera d’accéder à votre zone d’administration, il devra saisir un identifiant et un mot de passe avant de pouvoir accéder à la page de connexion de WordPress.

Ceci étant dit, voyons comment vous pouvez protéger votre répertoire d’administration WordPress par un mot de passe, étape par étape.

La première méthode est recommandée pour la plupart des utilisateurs/utilisatrices, et vous pouvez utiliser les liens rapides ci-dessous pour passer directement à la méthode que vous souhaitez utiliser :

Tutoriel vidéo

Subscribe to WPBeginner

Si vous préférez des instructions écrites, continuez à lire.

Méthode 1 : Protéger le mot de passe de wp-admin à l’aide de Directory Confidentialité (Recommandé)

La façon la plus simple de protéger par mot de passe votre répertoire d’administration WordPress est d’utiliser l’application Directory Confidentialité de votre fournisseur d’hébergement WordPress.

Tout d’abord, vous devez vous connecter au tableau de bord de votre compte hébergeur et cliquer sur l’option « Confidentialité du répertoire » dans la section Fichiers du tableau de bord cPanel de votre site.

Click on the Directory Privacy option in the Files section

Note : La plupart des hébergeurs utilisant cPanel, comme Bluehost, ont des étapes similaires. Cependant, votre tableau de bord pourrait être légèrement différent de nos captures d’écran, en fonction de votre fournisseur d’hébergement.

Vous accédez alors à un écran qui répertorie tous les différents répertoires de votre serveur. Vous devez trouver le dossier qui contient les fichiers de votre site.

Pour la plupart des propriétaires de sites, vous le trouverez en cliquant sur le dossier « public_html ».

Click public_html

Cela permet d’afficher tous les fichiers du site que vous avez installés sur votre serveur.

Ensuite, vous devez cliquer sur le dossier contenant le nom de domaine de votre site.

Click domain name folder

Dans ce dossier, vous verrez un dossier wp-admin.

Au lieu de cliquer sur le nom du dossier, vous devez cliquer sur le bouton « Modifier » situé à côté du dossier.

Click edit wp-admin folder

Vous accédez alors à un écran dans lequel vous pouvez activer la protection par mot de passe.

Il vous suffit de cocher la case « Protéger ce répertoire par un mot de passe ». Si vous le souhaitez, vous pouvez également donner un nom à votre répertoire, comme « Admin Area », pour vous aider à vous en souvenir.

Check password protect directory box

Une fois que vous avez fait cela, vous devez cliquer sur le bouton « Enregistrer ».

Vous accéderez à une page où le message de confirmation s’affichera.

Confirmation message click back button

Vous devez maintenant cliquer sur le bouton « Retour », et vous serez amené à un écran où vous pourrez créer un compte utilisateur qui sera en mesure d’accéder à ce répertoire.

Il vous sera demandé de saisir un identifiant et un mot de passe, puis de confirmer le mot de passe. Confirmez bien que vous avez noté votre identifiant et votre mot de passe dans un endroit sûr, par exemple dans une appli de gestion de mots de passe.

Create a User

Confirmez-vous que vous avez bien cliqué sur le bouton « Enregistrer ».

Désormais, lorsque quelqu’un tentera d’accéder à votre répertoire wp-admin, il sera invité à saisir l’identifiant et le mot de passe que vous avez saisis/saisie ci-dessus.

Password protect WordPress admin example

Méthode 2 : Protéger le mot de passe de wp-admin à l’aide d’un code

Vous pouvez également protéger manuellement votre répertoire d’administration WordPress par un mot de passe. Pour ce faire, vous devez créer deux fichiers appelés .htpasswd et .htaccess.

Note : L’ajout de code à votre site WordPress peut être dangereux. Même une petite erreur peut provoquer des erreurs majeures sur votre site. Nous recommandons cette méthode uniquement aux utilisateurs/utilisatrices avancés.

Création du fichier .htaccess

Tout d’abord, ouvrez votre éditeur/éditrices de texte préféré et nommez le nouveau fichier .htaccess.

Ensuite, vous devez copier l’extrait de code suivant et l’ajouter au fichier :

AuthName "Admins Only"
AuthUserFile /home/user/public_html/example.com/wp-admin/.htpasswd
AuthGroupFile /dev/null
AuthType basic
require user yourusername

Veillez à modifier le chemin ‘AuthUserFile’ à l’Emplacement où vous téléverserez le fichier .htpasswd et à modifier ‘yourusername’ au nom d’utilisateur que vous souhaitez utiliser pour vous connecter.

N’oubliez pas d’enregistrer le fichier lorsque vous avez terminé.

Création du fichier .htpasswd

Une fois que vous avez fait cela, vous devez créer un fichier .htpasswd.

Pour ce faire, ouvrez un éditeur/éditrices de texte et créez un fichier appelé .htpasswd. Ce fichier contient votre identifiant et votre mot de passe dans un format chiffré.

La manière la plus simple de générer le mot de passe chiffré est d’utiliser un générateur htpasswd.

Il vous suffit de saisir votre identifiant et votre mot de passe, de sélectionner le format de chiffrement et de cliquer sur le bouton « Créer un fichier .htpasswd ».

Create htpasswd file

Le générateur htpasswd affiche une ligne de texte que vous devez coller dans votre fichier .htpasswd. Confirmez votre choix en enregistrant le fichier une fois que vous l’avez fait.

Téléverser les fichiers .htaccess et .htpasswd dans le répertoire wp-admin

La dernière étape consiste à téléverser les deux fichiers que vous avez créés dans le dossier wp-admin de votre site.

Vous devrez vous connecter à votre compte d’hébergement WordPress à l’aide d’un client FTP ou de l’outil de gestion de fichiers en ligne fourni par votre fournisseur d’hébergement. Pour plus de détails, consultez notre guide pour débutants sur l’utilisation du FTP pour téléverser des fichiers sur WordPress.

Pour ce tutoriel, nous utiliserons FileZilla parce qu’il est gratuit et fonctionne sur Mac et Windows.

Une fois que vous vous êtes connecté à votre site, vous verrez les fichiers sur votre ordinateur dans la fenêtre de gauche et les fichiers sur votre site dans la fenêtre de droite. Sur la gauche, vous devez naviguer jusqu’à l’Emplacement où vous avez enregistré les fichiers .htaccess et .htpasswd.

Ensuite, sur la droite, vous devez vous rendre dans le répertoire wp-admin du site que vous souhaitez protéger. La plupart des utilisateurs/utilisatrices devront double-cliquer sur le dossier public_html, puis sur le dossier contenant leur nom de domaine, puis sur le dossier wp-admin.

Vous pouvez maintenant sélectionner les deux fichiers de gauche et cliquer sur « Téléverser » dans le menu du clic droit ou simplement faire glisser les fichiers dans la fenêtre de gauche.

Uploading the Files to Your Website's wp-admin Directory

Désormais, votre répertoire ‘wp-admin’ sera protégé par un mot de passe.

Dépannage de la protection par mot de passe de wp-admin

Selon la façon dont votre serveur et votre site sont configurés, il est possible que vous rencontriez des erreurs WordPress. Ces erreurs peuvent être corrigées en ajoutant soigneusement du code à votre fichier .htaccess.

Note : Il s’agit du fichier .htaccess situé dans le dossier principal de votre site, et non de celui que vous avez téléversé dans le dossier ‘wp-admin’. Si vous avez du mal à le trouver, consultez notre guide sur les raisons pour lesquelles vous ne trouvez pas le fichier .htaccess et sur la manière de le localiser.

Corrigé l’erreur Ajax qui ne fonctionne pas

L’une des erreurs les plus courantes est que la fonctionnalité Ajax peut cesser de fonctionner sur l’interface publique de votre site. Si vous avez des extensions WordPress qui nécessitent Ajax, comme la recherche Ajax directe ou les formulaires de contact Ajax, vous remarquerez que ces extensions ne fonctionnent plus.

Pour corriger ce problème, ajoutez simplement le code suivant au fichier .htaccess qui se trouve dans votre dossier wp-admin:

<Files admin-ajax.php>
    Order allow,deny
    Allow from all
    Satisfy any 
</Files>

Corrigé l’erreur 404 et le trop grand nombre de redirections

Deux autres erreurs que vous pourriez rencontrer sont l’erreur 404 et l’erreur « trop de redirections ».

La manière la plus simple de les corriger est d’ouvrir votre fichier .htaccess principal, situé dans le répertoire de votre site, et d’ajouter la ligne de code suivante avant les règles de WordPress :

ErrorDocument 401 default

Bonus : Les meilleurs guides WordPress pour la sécurité de wp-admin

Nous espérons que cet article vous a aidé à apprendre comment protéger par mot de passe votre répertoire d’administration WordPress (wp-admin). Vous pouvez consulter d’autres guides sur la sécurisation de votre zone d’administration :

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.

Divulgation : Notre contenu est soutenu par les lecteurs. Cela signifie que si vous cliquez sur certains de nos liens, nous pouvons gagner une commission. Consultez comment WPBeginner est financé, pourquoi cela compte et comment vous pouvez nous soutenir. Voici notre processus éditorial.

Avatar

Editorial Staff at WPBeginner is a team of WordPress experts led by Syed Balkhi with over 16 years of experience in WordPress, Web Hosting, eCommerce, SEO, and Marketing. Started in 2009, WPBeginner is now the largest free WordPress resource site in the industry and is often referred to as the Wikipedia for WordPress.

L'ultime WordPress Toolkit

Accédez GRATUITEMENT à notre boîte à outils - une collection de produits et de ressources liés à WordPress que tous les professionnels devraient avoir !

Reader Interactions

204 commentairesLaisser une réponse

  1. Syed Balkhi

    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!

  2. Rauf

    Sir when i login the popup button appear again and agin asking for enter the username and password

    • demonkoryu

      Edit: I see that your problem isn’t with Disqus comments (facepalm), but it might be applicable in your case anyway.

      This happened to me too.
      a) Clear all cookies (for Disqus and the site where you’re trying to use it)
      b) Try another browser than the one you’re currently using

  3. Thomas

    This isn’t working for me in WordPress 3.9.1. I get a 500 (internal server) error for any admin pages, and the wp-login.php page loads but doesn’t display correctly.

    I’ve added the code for the 404 error to the main .htaccess file, and have added the ajax code to the wp-admin/.htaccess file. No change.

    What might be causing this? Is my server or WordPress install misconfigured somehow?

  4. Abinash Mohanty

    Hi Syed, Thanks for the tips! I tried with Cpanel method and then added the following .htaccess scripts. The modal pop up window was not working previously and I realized that there was another usename, which was assigned for the same purpose in the past. So what I did was removed all previously assigned usernames and added a new one followed by the new password. The modal popup started working like a charm :) Thanks a lot.

  5. David

    Thank you! –
    fixed my redirect loop issue with ErrorDocument 401 default

  6. Guest

    I added the admin-ajax code to my /wp-admin .htaccess file, but that didn’t fix the issue. The All-In-One-Event-Calendar plugin is still not able to access the admin-ajax on the front end.

    Please advise.

    Thank you!

  7. bamajr

    Wouldn’t adding 2-Step Authentication to the WordPress Admin, login process, resolve this? Say, by using Authy (and their associated plugin)!

  8. Chris Christoff

    Hi guys,
    Quick note, admin-ajax.php isn’t the only thing that plugins need access to. You also need to allow non-password protected access to async-upload.php and media-upload.php

    These are used by plugins to allow files to be uploaded on the frontend (like uploading a file during a checkout).

    -Chris

  9. bikramjit singh

    Hi….i m new to wordpress and regular visitor here.I am facing a problem.When I try to login to my wordpress panel,the panel to enter username and password does not come.The site opens itself.My domain is http://www.tradethetechnicals.com.How can settle this issue?

  10. Abinash Mohanty

    Hi Syed Balkhi,
    You made my day! I was getting regular attempts to hack by unknown sources. Thanks for the process, I have fixed mine. It’s better and way easier than wordpress codex :)

  11. Kushal Jayswal

    Hi I am confused!

    If I lock wp-admin directory then registered authors can access « http://site.com/wp-admin » in the browser? Or they also need username and password?

    See on my blog anyone can login directly with Facebook, so in such a case if password and username is mandatory for all users. It will be little complex to handle…

    Any comment?

  12. Phil Alcock

    Thanks for the ajax fix. Added those few lines and it fixed my problem with a plugin. Much easier than the suggestion in the Wordpress Codex.

  13. Inayu Mustikayu

    i follow the manual tutorial and and with 500 error, after trial and error get this work with :
    AuthUserFile /home/yourdirectory/.htpasswds/public_html/wp-admin/passwd
    changed to just
    AuthUserFile /home/yourdirectory/.htpasswds
    in my small tiny ubuntu apache vps :)

  14. aryan

    hello,

    i use this password method ,
    please help , because this popup windows not open in UCBrowser !!

    so tell me may i make a page ,html page or any kind of page for login ?? i don’t want to show popup ,i want to show a login in page , and other function as same

  15. Chathu

    If I follow cpanel method, are there any way to remove the password?

    Thanks!

  16. Masood

    Thanks for sharing very help full

  17. Arthur

    Wow! at last! The « ErrorDocument 401 default » did the trick. I was loosing my patience with the redirect problem….

    Thank you so much for share that.

  18. James

    Seems to work great except it asks for authentication on our home page not just when accessing wp-admin. Is this possibly another plugin calling a file other than admin-ajax.php?

    • Editorial Staff

      Yup it is very possible that another plugin is calling admin-ajax.php. You should use the fix mentioned above.

      Administrateur

  19. Jeffro

    Just wanted to let you know that when I went to manage my subscriptions here on the site via email link, I received the username password prompt. Clicking Cancel allowed me to manage my subscriptions. After selecting and option and clicking save, got the prompt again which clicking cancel also allowed the action to be performed. Just letting you guys know in case you did’nt want that to happen to other people.

  20. Muhammad Ahsan

    shoud I copy the « ErrorDocument 401 default » line in .htaccess file in /wp-admin/.htaccess file ? or any other .htaccess file ?

  21. pankaj

    Hi ,
    As you told i i did but when i open wp-admin directory then i got error like « The page isn’t redirecting properly

    Firefox has detected that the server is redirecting the request for this address in a way that will never complete.

    This problem can sometimes be caused by disabling or refusing to accept
    cookies ».

    Even in google chrome it doesn’t given popup.Can you tell me how to resolve this issue.

    Thanks in Advance.

  22. Ed Emery

    Hi,

    This problem has been going since day one last week when I first installed WP. I just did the step by step How to Password Protect Your WordPress Admin (wp-admin) Directory but same problem! Here is a screen shot of what / who / hacker is going on.

    First this:
    The server sacramentofan.com at WPBeginner Admins Only requires a username and password.

    Warning: This server is requesting that your username and password be sent in an insecure manner (basic authentication without a secure connection).

    Then this after trying to login:

    The server sacramentofan.com at WordPress attack protection CAPTCHA. Enter username: e7en4d Password: The result of math 16+4 requires a username and password.

    Warning: This server is requesting that your username and password be sent in an insecure manner (basic authentication without a secure connection).

    So how do I stop this as I have tried everything since last Thursday 07-18-2013

    Thanks,

    Ed

    • Editorial Staff

      Too complex of an issue to explain by just hearing about it. Would really have to see what is going on. It seems that some plugin is causing this issue.

      Administrateur

  23. David McMahon

    Many thanks for this helpful hint – I’d been wondering why I kept getting the dreaded « request will never complete » message from Firefox, but now I don’t!

  24. Akash Deep Satpathi

    Hi! I followed your tutorial with cPanel but after it I was not able to view my Dashboard. It was saying « This webpage has a redirect loop » on Google Chrome. So, what I am missing?

  25. Meher

    Hi,

    Thank You very much for your article.

    I was trying to add an additional login layer to wp-admin folder and was redirecting to – Too many redirects error -.

    I searched a lot in Google and came across your article. This really helped me solve this issue.

    Thank you once again.

  26. arman

    it works well

    but there is one problem .

    when normal users Login and wants to go to dashboard and change some info like picture profile they must answer this user password too !!

    is there any chance to set this protected folder for only admin or ignore it for normal users dashboard ?

      • ARMAN

        So , If i use this for All users , it means all users must have my USer, password for Protected Folder !!

        so anyone can register and Anyone must have this user , password then any hacker can register as User in my site and get this user & pass !!

        So Protecting Wp-admin is useful for only sites with one Admin or with some Special Users to share this user password …

        • Editorial Staff

          You can create multiple users in .htpswd. You would have to use what is called a group.

  27. fox

    ooohhh men thanks for your help :

    ErrorDocument 401 default

    works perfect !!!!!

  28. Nishant

    Thanks for the tips. I have implemented password protection of Wp-Admin directory and also have added double authentication using Google Authenticator. It seems to work fine.

    I recently migrated to a new host (Bluehost) and set up my Wordpress site.

    I have installed Wordfence security plugin. The configuration of the plugin is such that every time somebody logs in(including myself), I get an email alert. And also, if somebody attempts a login with an invalid username, then it locks out that IP Address for 10 minutes and sends an email notifying me that there has been a failed attempt to login.

    Considering that I have password protected my Wp-admin directory, unless someone knows the user and and password for it, they cannot reach wp-admin or wp-login to attempt a login to my wordpress.

    But last night I got few emails from Wordfence citing that there have been lock out of few IP Addresses for having made failed attempts to logon to Wordpress using invalid usernames (like admin, Admin or nishant). Is it possible to bypass server side password protection of wp-admin directory and make an attempt to logon to Wordpress?

    Nishant

    • Nishant

      Also, I just noticed that…

      When I use the URL directly to wp-login, i am shown the window of server side password for wp-admin directory. But when I click cancel on that password window(2 to 3 times), it displays the wp-login page!

      But when the url is wp-admin, then when clickign cancel it displays « 401 Authorization Required
      Invalid login credentials! »

      And the log files showed the invalid attmepts to login were tryign to access wp-login.php directly.

      • Editorial Staff

        Yes wp-login.php is still accessible. But even if they get the right password, they won’t be able to see it. You can also use the same technique and password protect your wp-login.php file individually.

        Administrateur

        • Jeffro

          Just what exactly would that code be? I didn’t see an easy way to password specific files in Cpanel.

  29. Bart

    Dear author,

    I am convinced I followed all of your directives, yet still I get the Firefox « endless loop » notification. This is what I did so far:
    – I made a .htpasswds file in /.htpasswds/public_html/wp-admin/passwd (CHMOD 664)
    – I made a .htaccess file with a generated hash / username and put it in /public_html/wp-admin
    – I inserted the line ErrorDocument 401 default before all code into my main .htaccess file in /public_html

    Could you please guide me to solving this problem. My main questions are:

    – you say « make a file called ‘.htpasswds’ « . Is this in fact the correct filename ? I mean, with the s at the end included?
    – exactly what path do I need to specify in my .htaccess file in my /public_html/wp-admin folder? Currently it says « AuthUserFile /.htpasswds/public_html/wp-admin/passwd » I’m not sure I’m doing this part right…

    I’m looking forward to some clarification here…I have been wrestling with this a couple of hours now and I figure it shouldn’t be THAT hard? :-)

    Thank you very much in advance…if you require any more info I’m more than happy to provide it. Kind regards,

    Bart

    • Editorial Staff

      What type of hosting are you on? Do you have a cPanel web host? Can you try using the cPanel method to generate the htpswd file?

      It’s really hard to tell what is going wrong because we wrote down the exact same thing that we did on our site.

      Administrateur

  30. zimbrul

    I’d like to ask you guys a question: did it ever happen to you to have admin folder password protected and to be asked for authentication for EVERY post you read on your blog? It does happen with one of my blogs. I was wondering if it’s not better to protect the admin login with Google Authenticator or something similar instead…

    • Editorial Staff

      If you are being asked to authenticate every single time, then one of the two is happening:

      1. You pasted the .htaccess info in your main .htaccess file and not in the .htaccess file in the /wp-admin/ folder.

      2. admin-ajax.php file is being loaded on the front-end. You need to add the rule to prevent that from being password protected. We have mentioned the fix for that.

      Lastly, yes we have 3 layers of protection for our admin. IP match (if that doesn’t match, then the .htaccess password), and then there is Google Authenticator. We also have limit login attempts activated as well.

      Sucuri also does a pretty good job at blocking other attacks.

      Administrateur

  31. Anish K.S

    i tried this method, but getting an error  » Error 310 (net::ERR_TOO_MANY_REDIRECTS): There were too many redirects.  »

    How to fix this ???

      • Anish K.S

        Yes, I fixed It. thanks for the tutorial.

  32. Mathieu Slaedts

    Hi there.

    I try to implement this protection. I tried the two solutions (manual and form the admin panel of my host). In both case, the .htacess is in the wp-admin folder, but the pop-up appears on every page.

    Any idea where does that come from ?

    Thanks

    • Editorial Staff

      That is an unlikely behavior. Without looking at the specific situation, we can’t tell you why it is doing that. We do know that by following this tutorial as it is written, you should be able to make it work. We have it running on WPBeginner.

      Administrateur

      • Ollie

        I just had the same problem with the pop-up appearing on almost every page on my wordpress website.

        It turns out that on the pages where it was showing up, a wp-admin resource, in this case something from a plugin, was being pulled in and that seems to have triggered the pop up. I’ve since disabled the plugin and the password pop up no longer shows up on those pages.

        So, I’d open the source and search for wp-admin to see what’s causing the pop up to appear.

        • Editorial Staff

          The most common file that is loaded is admin-ajax.php, and we already covered that. If a plugin is loading another file, then yes you have to account for that.

  33. aditya

    I followed up as you said.
    I protected my wp-admin directory and It’s working for login but the same popup is always coming out while navigating through site ????

    • Editorial Staff

      This means that you have the code in the wrong .htaccess file. You need to create a brand new .htaccess file in your /wp-admin/ folder. It sounds like that you pasted the code in your main .htaccess file.

      Administrateur

  34. 20Music

    Hi,
    I followed the suggestion found on your site. I created password from cpanel on the wp-admin folder and it done ok for admin login page but on every link that I click in the website, a popup will appear asking for identification. Everything is alright when I clicked cancel.
    Do you know what is the issue with it?

    I used the ErrorDocument 401 default on main .htaccees too.

    Thanks

    • Editorial Staff

      Can you please verify that the password protect thing is in a separate .htaccess file in your wp-admin folder?

      Administrateur

      • Brad LeBlanc

        I tried it and I got no window just a 404 error( too many http directs).
        And I was blocked out of everything until I disabled the password. What gives?

        • Editorial Staff

          Did you do the .htaccess trick we mentioned in the article which fixes the 404 error.

  35. Andrew

    Thanks for the excellent help on wpbeginner!

  36. Ariel

    I edited my .htaccess root file (to put the errordocument rule), and the pop-up worked well, but all my post links gives me a 404 error. I think that is a rewrite rule problem :( Thanks

    • Editorial Staff

      Go to your Settings > Permalinks. Just click save and hopefully that will solve the issue.

      Administrateur

      • vic

        the permalink refresh worked! thanks, you saved me from many headaches..!

  37. Tomy

    Really helpful info thanks, I just had a breach apparently, 3 files we added to my Wordpress install. 1into wp-admin, 1 to wp-admin/images and 1 to wp-includes.
    All were php files. One of them had base 64 encoded crap in it.

    Will setup the htaccess in wp-admin, and limit login attempts plugin seems to provide done nice info.

    Oh I was able to notice the files that were added to my install because Wordpress file monitor plugin alerted me.

  38. Mao Shan

    Hi,

    I followed the suggestion found on the internet on how to secure wp-admin folder. I created a .htacess to password protect the folder. However after implementing it, on every link that I click in the website, a popup will appear asking for identification. Everything is alright when I clicked cancel. Do you know what is the issue with it? I want to secure my wp-admin folder but I don’t want the popup on all pages/links. Currently using Mayashop theme and woocommerce plugin only.

    Thanks

    Below is my sample of .htacess

    Order allow,deny
    Allow from all
    Satisfy any

    Order allow,deny
    Allow from all
    Satisfy any

    Order allow,deny
    Allow from all
    Satisfy any

    AuthType Basic
    AuthName « Admin Only »
    AuthUserFile « (myurl)/.htpasswds/public_html/wp-admin/passwd »
    require valid-user

    • Editorial Staff

      If your .htaccess file is in your /wp-admin/ then this shouldn’t happen. Unless you are loading WordPress admin assets on your front-end.

      Administrateur

      • Mao Shan

        Well the .htaccess file is in wp-admin folder. I changed the theme back to twentyeleven and everything works fine. Only on the other theme, the authorisation required pops out on all pages/links.

        I added below line and everything seems alright but when I got to url/wp-admin, it shows Error 310 (net::ERR_TOO_MANY_REDIRECTS): There were too many redirects. What is the reason?

        Files ~ « \.(php)$ »
        Order allow,deny
        Allow from all
        Satisfy any
        Files

        • Editorial Staff

          Did you read the part of the article that talks about that error specifically?

        • Mao Shan

          Hi, I manage to solve it after a clean wordpress install. problem is I am now unable to create contact form as it will direct me to error 404 and when i activate xcloner plugin, it also redirect me to error 404.

          Any help?

  39. Sudeep Acharya

    I have password protected wp-admin. But inspite of this someone is able to bruteforce on my blog. What may be the possible reason for this?

    • Editorial Staff

      How do you know that they brute-forced and logged-in to your wp-admin? This sounds really suspicious. Often when this happens, the user has a backdoor in place.

      Administrateur

  40. Sudeep Acharya

    I had got too many redirects loop and just adding this code
    ErrorDocument 401 default

    in .httaccess fixed the problem.

    • Ahsan

      Tell me where to put this line… please

  41. ahmedsheeraz

    ErrorDocument 401 default saved my life :)

  42. John RIker

    I use Cpanel and went through how it was to be set up and did that, also the user and passwor.

    However, what I found out after hours of frustration is that the main .htaccess must have this added: ErrorDocument 401 default

    If you add that only to the main .htaccess file it all works. at top before the begin wordpress your world will be much more relaxed. Thats after you set protect directory in cpanel

    Thanks, used you page with a little twiking and its works great.

  43. damian

    I’m getting so discouraged. My site hacked after only 2 days of being up! The amount of steps needed to take to protect the site is overwhelming, and then they still can get in…

    And every « authority » seems to have a different opinion or approach or favorite plugins… my head is spinning…can you please give a basic numbered run down of steps to take to keep from getting hacked…including cpanel, backend wp, and any other things you might think helpful…and hopefully steps that don’t require an A+ cert….thanks man!

    • Editorial Staff

      We really apologize for the experience you have had so far. Speaking from this moment, there are no known security issues in the WordPress core. So if you are using the most up to date version of WordPress, then that is good. Often the security issues are with poorly coded plugin and themes. Before you can secure your site, you have to clean it up. Sometimes, changing your passwords and adding all these measures are not enough. Because the hackers can leave backdoor access files which gives them shell access to your server. We highly recommend that you start using Sucuri and have regular backups.

      https://www.wpbeginner.com/opinion/reasons-why-we-use-sucuri-to-improve-wordpress-security/

      Make sure to keep your plugins and core files updated at all times. Don’t use plugin/themes from untrusted sources. WordPress has become the Windows of our time. Because there are so many sites using it, hackers have the motivation to find the exploits in plugins, themes etc.

      We will work on creating a comprehensive tutorial on security.

      Administrateur

  44. bob

    I password protected my wp-admin on my sites but I was still getting lockout notices from lilmit login plugin. How could that be?
    I then noticed if I type in /wp-login.php? instead and then cancel I can get to the login page. Uggggh. Makes me wonder what other workarounds there are that I don’t know of.

  45. Peter

    THE SOLUTION FROM HOSTGATOR
    It appears that a security plugin had added a rewrite to the .htaccess file within wp-admin/ for your account. This was causing the site to redirect to itself causing a redirect loop.

    I have corrected the issue with .htaccess file and your wp-admin login page is loading correctly at this time.

    If you have any other questions or concerns please let us know.

    Sincerely,
    Preston M.
    Linux Systems Administrator
    HostGator.com LLC

  46. Peter

    Had a host gator technician working half an hour on the 404 error issue. He could not resolve it.
    He even removed all rewrite rules in the public_html/.htaccess

  47. Peter

    Still having « Too many redirects » error
    The page isn’t redirecting properly

    Firefox has detected that the server is redirecting the request for this address in a way that will never complete.

    This problem can sometimes be caused by disabling or refusing to accept
    cookies.

    BUT I added:

    « Redirect 301 /tag/tax/ http://snbchf.com/tag/taxes/
    Redirect 301 /tag/interest-rate/ http://snbchf.com/tag/academical/

    Redirect 301 /tag/chf-flows-floor-ubs/ http://snbchf.com
    Redirect 301 /tag/boom/ http://snbchf.com

    RewriteEngine on
    ErrorDocument 401 default »
    to my .htaccess in the public_html directory.
    (tried also to put « ErrorDocument 401 default » at the start)

  48. Ankur

    Its a great way to protect wp-admin directory. I was using it for long time but when I installed commentluv, I had to uninstall it as it was not able to work properly.
    Do you happen to know any workaround ?

  49. mindctrl

    FYI, I’ve seen this break plugins that use ajax on the front end by calling the wp-admin/admin-ajax.php.

    • Editorial Staff

      Yes that is true. We weren’t using any plugin that was making that call. However, you can add an exception for that file in the .htaccess.

      Administrateur

  50. Martin

    I am not sure what cpanel does but adding a simple htpasswd will get you the same result.

    • Editorial Staff

      Well, you can add a htpasswd. But you would also have to create a .htaccess rule in wp-admin directory to specify that you are locking the directory. Then specify the user or usergroup that is allowed etc. This basically helps us simplify the process.

      Administrateur

    • zimbrul

      The above tutorial is in fact adding security with .htpassword and .htaccess via a user friendly interface in cPanel. After you’ve done the above you’ll notice a .httpassword file has been generated outside your server root (for security reasons) and within the file you’ll find the info you’ve enered as per this tutorial.

  51. Howard

    On every WP site I have, on my very first login after setup, I create another admin account with a name for which I use a formula to construct — and a very strong, computer-generated password. I then long out, and then login to the alternate admin account, and reduce the standard admin username to « no role for this site » and set a computer-generated password that is at least 35 characters long. I don’t bother to save that password anywhere. It’s now only a honeypot.

    Then I install the « limit login attempts » plugin. Any time that gets tripped, I add the offending IP address to my deny list in .htaccess to make sure that IP can’t reach my site.

    I trap 3 or 4 attempts to break into admin every week.

    • Editorial Staff

      Yes we had that too. There comes a point when attacks are bouncing IPs. Banning a huge range of IPs is not a sufficient option. We also had login restricted by IP as well, but that didn’t seem to be doing the job either.

      Administrateur

      • Howard

        The « limit login attempts » plugin is pretty good. I have it set to shut off for 100 hours after 4 failed attempts, with the 4th lockout set for 4000 hours. So, even if the perp can dynamically switch IPs, he has to do so every four tries. And with a really long random password, that should take a couple of centuries, and more IP addresses than he is likely to be able to access.

        In the highly unlikely case they crack my « admin » it won’t do them any good anyway. Any time I notice that the scumbag has actually figured out what my real admin name is (only happened once so far), I immediately create a new one, and set the old one to « no role for this site » with a really long randomly-generated password. There are a few other details (e.g., first, I have to change the email address before it will let me create the new admin account with my email), but that pretty much did the trick on that one.

        I really don’t know if this is bulletproof, but I’m hoping the scumbags decide it’s too much work and go pick on a weaker site.

        • zimbrul

           » Any time I notice that the scumbag has actually figured out what my real admin name is… » can I ask you how did you figure that?

        • Howard

          @zimbrul Sure.

          The limit login attempts plugin tells me which user name is under attack. Usually, it’s « admin » but there was one occasion where I saw my real admin account’s name. So I created a new admin account, and left the old one there, but gutted of any access, and with a ridiculously long password.

          I’m not sure how the perp found the admin account since I assigned it an unrelated « nickname » that appears on postings. I’m guessing there is some file on the server that can be at least partially read by a hacker, and I probably need to research that.

        • Editorial Staff

          Its fairly easy to find the login name. All the person has to do is look at your author URL to know your username. For example this:

          https://www.wpbeginner.com/author/wpbeginner/

          The username would be « wpbeginner ». For most sites that is the case unless ofcourse they have changed the username like shown in this technique:

          https://www.wpbeginner.com/wp-tutorials/how-to-change-your-wordpress-username/

          If you do it like that, then your username will change, but your author URL would not.

    • zimbrul

      Howard, that’s an interesting point; I’ll try to implement that.
      Also I had problems with 404 errors or too many redirects and I didn’t know the fix, thanks for that!
      For some reason, banning the IP address in .htaccess in wp-admin folder is not working for my site zimbrul.co.uk ! I’ve tried to access my site from my mobile phone on 3G and I could get through even the only allowed IP was the home IP.

Laisser une réponse

Merci d'avoir choisi de laisser un commentaire. Veuillez garder à l'esprit que tous les commentaires sont modérés selon notre politique de commentaires, et votre adresse e-mail ne sera PAS publiée. Veuillez NE PAS utiliser de mots-clés dans le champ du nom. Ayons une conversation personnelle et significative.