Protéger wordpress avec un mot de passe htaccess

De Aide Monarobase
Aller à : navigation, rechercher

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.