Il est parfois nécessaire de verrouiller l'accès à certaines pages de notre site ou à un site complet. Pour cela, rien de plus simple que d'ajouter un fichier .htaccess.
Il faudra donc créer deux fichiers à la racine de votre site ou du dossier à protéger.
- .htaccess : Ce fichier contiendra l'adresse du .htpasswd
- .htpasswd : Ce fichier contiendra la liste de logins/mots de passe des utilisateurs autorisés à accéder à votre site ou votre page
1. Créer le fichier .htaccess
Créez un fichier .htaccess à la racine du site ou du dossier que vous souhaitez protéger. Ajouter le contenu suivant.
AuthName "Page d'administration protégée"AuthType BasicAuthUserFile "/home/site/www/admin/.htpasswd"Require valid-user
Parmi ces quatre lignes, il y en a deux à modifier :
- AuthName : Correspond à la phrase qui sera affichée pour inviter l'utilisateur à se connecter.
- AuthUserFile : C'est le chemin absolu vers le fichier .htpasswd (que vous mettrez dans le même répertoire que le .htaccess).
💡 Trouver le chemin relatif
- Créez un fichier appelé chemin.php
- Inscrivez cette ligne de code à l'intérieur du fichier :<?php echo realpath('chemin.php'); ?>
- Envoyez ce fichier sur votre serveur avec votre logiciel FTP, et placez-le dans le dossier que vous voulez protéger.
- Ouvrez votre navigateur et allez voir ce fichier PHP. Il vous donne le chemin absolu.Par exemple, dans ce cas : /home/site/www/admin/chemin.php
- Copiez ce chemin dans votre .htaccess, et remplacez le chemin.php par .htpasswd.Par exemple : /home/site/www/admin/.htpasswd
- Une fois le chemin relatif trouvé, supprimez le fichier chemin.php de votre serveur.
2. Créer le fichier .htpasswd
Créez maintenant le fichier .htpasswd . Il va contenir la liste des personnes autorisées à accéder aux pages du dossier.
On y inscrit une personne par ligne, sous cette forme :
Au final, votre fichier .htpasswd devrait ressembler à ceci :
💡 Pour crypter un mot de passe, rendez-vous sur ce site et inscrivez le mot de passe : http://www.infowebmaster.fr/outils/crypter-htpasswd.php