Protéger wordpress avec un mot de passe htaccess
Sommaire
Pourquoi protéger un dossier par mot de passe .htaccess
Protéger un dossier ou un fichier par mot de pase .htaccess permet d'ajouter une couche de protection supplémentaire à votre installation Wordpress. Avec un plugin comme limit login attempts, il n'y a pas beaucoup de risques mais avoir deux niveaux de protection peut vous rassurer !
Wordpress ajoute des régles dans son fichier .htaccess qui rendent la protéction par mot de passe de son dossier wp-admin compliqué sur la configuration de cPanel si on ne connait pas la ligne pour débloquer ce problème
Étapes pour protéger wp-login.php et wp-admin par mot de passe
Sauvegardez vos fichiers
Sauvegardez au moins les fichiers que vous allez modifier (principalement votre fichier .htaccess).
Protéger son dossier wp-admin par mot de passe avec cPanel
Connectez-vous à cPanel puis suivez le tutoriel suivant pour protéger le dossier par mot de passe.
Protéger un répertoire par mot de passe avec cPanel
Ouvrir le fichier .htaccess généré par cPanel
Avec votre logiciel FTP, connectez-vous à votre compte FTP puis allez dans le dossier wp-admin de wordpress. Actualisez votre affichage de liste de dossiers de votre logiciel FTP si vous ne le voyez pas. Ouvrez ce fichier avec un éditeur de texte (par exemple bloc notes si vous êtes sous Windows). Copiez les 3 premières lignes de ce fichier dans un nouveau fichier puis fermez sans sauvegarder ce fichier .htaccess
Ces lignes doivent ressembler à ceci :
AuthType Basic AuthName "forbidden access" AuthUserFile "/home/UTILISATEURCPANEL/.htpasswds/public_html/wp-admin/passwd"
Attention, il doit y avoir 4 lignes, ne prenez pas la 4e ligne.
Éditer votre fichier .htaccess de Wordpress
Ouvrez le fichier .htacess dans le dossier racine de Wordpress (normalement dans le dossier public_html de votre compte FTP).
Il doit contenir quelque chose comme ceci :
# BEGIN WordPress <IfModule mod_rewrite.c> RewriteEngine On RewriteBase / RewriteRule ^index\.php$ - [L] RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule . /index.php [L] </IfModule> # END WordPress
Tout en haut de ce fichier ajoutez la ligne suivante :
ErrorDocument 401 "Error 401: Forbidden Access"
Puis en dessous de cette ligne ajoutez les 3 lignes que vous avez sauvegardé à l'étape précédente :
AuthType Basic AuthName "forbidden access" AuthUserFile "/home/UTILISATEURCPANEL/.htpasswds/public_html/wp-admin/passwd"
Puis ajoutez les lignes suivantes :
<Files wp-login.php> require valid-user </Files>
Vous devez alors avoir en tout :
ErrorDocument 401 "Error 403: Forbidden Access" AuthType Basic AuthName "forbidden access" AuthUserFile "/home/UTILISATEURCPANEL/.htpasswds/public_html/wp-admin/passwd" <Files wp-login.php> require valid-user </Files> # BEGIN WordPress <IfModule mod_rewrite.c> RewriteEngine On RewriteBase / RewriteRule ^index\.php$ - [L] RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule . /index.php [L] </IfModule> # END WordPress
Testez votre protection
Vérifiez que tout votre site fonctionne avant de vous connecter.
Rendez-vous à /wp-login.php et /wp-admin normalement les deux URL permettant d'accèder à votre installation de Wordpress doivent vous demander un mot de passe. Une fois que vous aurez saisi votre mot de passe une fois votre navigateur ne vous le demandera plus jusqu'à ce que vous fermez puis relancez votre navigateur. Si vous demandez à votre navigateur de se rappeler de votre mot de passe il ne devrait plus vous le demander.