htaccess et htpasswd
Classé dans : WebMaster - Mots clés : htaccess, mot de passeUne petite note sur la manière d'ajouter un mot de passe à (certaines pages de) son site avec le duo htaccess
et htpasswd
.
On peut facilement ajouter un accès sécurisé par mots de passe à certains répertoires de son site (voire à tout le site en pointant sur la racine du site) à l'aide du duo htaccess
& htpasswd
.
Ceci est une fonctionalité du serveur Apache et ne fonctionnera donc que sur ce serveur et les serveurs compatibles.
Cette fonction est très commenté sur le net : j'irai donc à l'essentiel.
htaccess
Pour sécuriser un répertoire, on ajoute dans le fichier .htaccess du répertoire (à créer si besoin est) les lignes suivantes :
AuthName "Protection : identifiez vous !"
AuthUserFile /mon/repertoire/.mon_htpasswd
AuthType Basic
Require valid-user
On laisse tel quel les deux dernière lignes (si vous voulez en savoir plus-en particulier pour la méthode d'authentification Digest-, lisez la documentation d'Apache).
La première ligne indique le message affiché (lors du prompt d'identification) : vous pouvez le changer.
Emplacement du répertoire
La seconde ligne indique la position du fichier mot de passe (de préférence dans la zone protégée par mot de passe), on va voir comment le créer.
Pour connaître l'emplacement de votre fichier mot de passe, créer un fichier realpath.php
contenant la ligne :
<?php echo realpath("realpath.php"); ?>
Exécuter la page PHP dans votre browser web et l'emplacement vous sera indiqué.
Fichier mot de passe
Pour générer votre fichier de mot de passe, vous pouvez utiliser un des services en ligne, mais je préfère utiliser la commande Linux htpasswd
.
Pour créer un nouveau fichier, il suffit de taper :
$ htpasswd -c .mon_passe mon_login
et pour ajouter un nouveau login à un fichier existant :
$ htpasswd -c .mon_passe mon_login
Ou .mon_passe est le nom de votre fichier mot de passe : traditionnellement c'est .htpasswd
mais comme on le spécifie dans .htaccess
cela pourrait être ce que l'on veut !
Pour plus d'informations, voir la do c d'Apache.
Bonne protection de sites !