Nous allons voir comment protéger certains dossiers avec des .htaccess faisant appel à des .htpasswd.
Cette manipulation permet de rajouter une barrière supplémentaire, par la mise en place d’un mot de passe, pour l’accès à un dossier particulier.
Et vous l’aurez compris nous allons protéger nos dossiers « sensibles ».
Prenons pour l’exemple le dossier « wp-admin » qui contient toute l’interface administration de votre site sous Wordpress (et tout équivalent sur votre CMS personnel).
Par défaut, Wordpress vous demande un mot de passe pour y accéder, nous vous conseillons de rajouter un .htaccess pour sécuriser encore davantage le dossier !
a) Créer un fichier .htaccess
En réalité créer un fichier .htaccess n’est pas très complexe.
Nous vous conseillons de travailler avec Notepad++.
Ouvrez donc Notepad et copier ce code :
Code : Tout sélectionner
AuthName "AUTHENTIFICATION REQUISE"
AuthType Basic
AuthUserFile " www/vhosts/team-aaz.com/httpdocs/wp-admin/.htpasswd"
Require valid-user
Code : Tout sélectionner
Nom du fichier : [b].htaccess[/b]
Type : [b]All files (*)[/b]
Voilà, votre fichier .htaccess est créé !
Maintenant nous allons devoir le paramétrer correctement et pour cela il faut connaitre le chemin absolu du dossier que vous souhaitez protéger par un mot de passe.
Le chemin absolu, c’est l’adresse exacte du dossier sur le serveur et pour la connaître il existe un moyen simple :
Crée un fichier chemin.php contenant uniquement cette ligne :
Code : Tout sélectionner
<?php echo realpath('chemin.php'); ?>
Ensuite, ouvrez votre navigateur et rendez-vous à l’adresse de votre fichier (pour moi http://www.team-aaz.com/wp-admin/chemin.php) et vous verrez alors le chemin absolu de votre dossier, pour moi :
www/vhosts/team-aaz.com/httpdocs/wp-admin
Retournons donc dans le fichier .htaccess créé précédemment (avec Notepad).
La ligne qui nous intéresse est : AuthUserFile " www/vhosts/team-aaz.com/httpdocs/wp-admin/.htpasswd"
Cette ligne sert à indiquer que ce dossier est protégé par un mot de passe contenu dans le fichier .htpasswd (que nous allons créer), il faut donc remplacer mon chemin absolu par le vôtre. N’oubliez ni les guillemets, ni de finir par .htpasswd et enregistrez le tout !
Et voilà votre fichier .htaccess est créé.
b) Créer un fichier .htpasswd
Dans la première partie vous avez créé un fichier .htaccess qui protégera le dossier choisi par un mot de passe.
Le fichier .htpasswd contient ce mot de passe !
Pour le créer nous avons encore besoin de Notepad++.
Il vous faut tout d’abord choisir un mot de passe, puis nous allons le crypter !
Pour mon exemple je choisis le mot de passe : banane.
Il suffit alors de créer un fichier passe.php contenant uniquement cette ligne
Code : Tout sélectionner
<?php echo crypt('banane'); ?>
Vous obtenez votre mot de passe crypté : $1$2VWCkf7D$jc3CjlwtqLuZrNOK9P7ja0
Copiez ce code est supprimez le fichier passe.php de votre serveur.
Nous pouvons maintenant créer notre fichier .htpasswd
- Ouvrez Notepad++
- Ecrivez une simple ligne contenant votre login et votre mot de passe crypté sous cette forme :
login:mot de passe
(Par exemple pour moi : teamaaz:$1$2VWCkf7D$jc3CjlwtqLuZrNOK9P7ja0 )
Puis enregistrez-le de cette manière :
Code : Tout sélectionner
Nom du fichier : [b].htpasswd[/b]
Type : [b]All files (*)[/b]
c) Sécuriser un dossier avec ces fichiers
Ce qu’il faut savoir, c’est qu’un fichier .htaccess agit sur les permissions du répertoire qui le contient et sur tous ses sous-répertoires.
Il ne vous reste donc plus qu’à déposer vos deux fichiers .htaccess et .htpasswd dans le dossier à sécuriser et le tour est joué !
Normalement, la prochaine fois que vous souhaiterez accéder à ce dossier par votre navigateur vous obtiendrez cette boite de dialogue :
Vous pouvez, de cette manière, créer autant de fichiers .htaccess et .htpasswd que vous le souhaitez pour sécuriser tous vos dossiers sensibles ! Pratique non ?![/size]