Utilisation du .htaccess
Nous abordons ici l'utilisation du .htaccess
pour protéger un répertoire : ne pourront visualiser le répertoire protégé que celles et ceux qui s'authentifieront (login + passwd).
- Nous supposons que l'URL du site est http://monsite.fr
- Nous voulons protéger le répertoire http://monsite.fr/RepertoirePersonnel
La première chose à faire, est de connaitre le chemin absolu de votre site : par exemple /var/www/monsite (ça peut être un peu plus compliqué que ça). Un bon moyen, quand on n'a pas accès directement à l'hébergement, est de placer le script php suivant (en général, PHP est disponible sur la plupart des hébergements) à la racine de votre hébergement.
<?php phpinfo(); ?>
Si le script s'appelle info.php, il suffit de lancer l'URL http://monsite.fr/info.php par l'intermédiaire du navigateur. Le résultat du script est très verbeux. Seule une information nous intéresse : le DOCUMENT_ROOT. Nous supposerons ici : DOCUMENT_ROOT = /var/www/monsite
La logique du .htaccess est ensuite la suivante :
- On place le .htaccess dans le répertoire à protéger
- On indique dans ce .htaccess :
- que le répertoire est privé
- qu'on y accède en s'authentifiant (login / MotDePasse)
- que l'on trouvera les informations d'authentifications, cryptées, dans un autre répertoire
- Enfin, on n'oublie pas de rendre invisible ce répertoire, aux yeux des autres hébergés, par exemple.
On reprend dans l'ordre :
Écriture du .htaccess
AuthUserFile /var/www/monsite/RepertoirePersonnel/prive/.htpassword AuthName "Espace privé" AuthType Basic Require valid-user
- La première ligne indique que les informations d'authentifications se trouvent dans /var/www/monsite/RepertoirePersonnel/prive/.htpasswd (on utilise le DOCUMENT_ROOT récupéré plus haut).
- La deuxième ligne est une chaîne de caractère qui va apparaître à l'internaute, dans une fenêtre d'authentification
- On place ce .htaccess dans le répertoire à protéger (ici RepertoirePersonnel)
Création du répertoire pour l'authentification
Ici, on crée le répertoire prive, à l'intérieur du répertoire RepertoirePersonnel (ce n'est pas une obligation : vous pouvez également placer ce répertoire à la racine de votre site, ou ailleurs.
Fichier de mots de passe
Il s'agit donc du fichier .htpasswd (ce peut être un autre nom), que l'on place dans le répertoire prive. Pour créer ce fichier, sous Debian GNU/Linux, on utilise la commande htpasswd :
htpasswd -c prive/.htpasswd monlogin
Cette commande crée (option -c) le fichier, en demandant la saisie d'un mot de passe pour l'identifiant monlogin.
Si l'on souhaite donner d'autres identifiants et d'autres mots de passe, on utilise toujours la commande htpasswd, mais en demandant de rajouter les informations dans le fichier : pas d'option -c Pour plus d'aide : man htpasswd