(modifié le 1 mai 2014 à 2:55)

Si vous utilisez les fichiers de configuration Apache .htaccess pour protéger l'accès à un répertoire, vous savez que votre fichier .htpasswd doit être composé de :

utilisateur:mot_de_passe_crypte

Sous Linux, il est possible d'obtenir la version cryptée de votre mot de passe via la commande htpasswd :

[shell]# htpasswd -n john
New password:
Re-type new password:
john:8LogwM1oTXRNk[/shell]

Il vous reste à ajouter le couple utilisateur:mot de passe crypté dans votre fichier .htpasswd (john:8LogwM1oTXRNk dans notre cas) à l'aide d'un éditeur tel que vi ou nano.

Mais je trouve cela plutôt fastidieux et en cas d'erreur (espace superflu, faute de frappe, etc.) votre authentification ne fonctionnera pas.

Voici une astuce pour créer ou mettre à jour le mot de passe de l'utilisateur john dans le fichier .htaccess :

[shell]htpasswd .htpasswd john
New password:
Re-type new password:
Adding password for user john[/shell]

Voici un exemple de contenu du fichier ainsi génré :

[shell]john:t.t.B0pmvefUA[/shell]

Je vous rappelle toutefois que le mot de passe crypté est à chaque fois différent, même si vous entrez le même mot de passe. Apache lui le comprendra parfaitement. En outre, si deux utilisateurs ont le même mot de passe il est tout à fait normal que leurs valeurs respectives cryptées diffèrent.

En complément vous pouvez utiliser ce générateur de fichiers .htaccess en ligne, ou celui-là.

Note : si votre fichier .htpasswd n'existe pas, utilisez l'option -c pour le créer : htpasswd -c .htpasswd john

Auteur : Mr Xhark

Fondateur du blog et passionné par les nouvelles techno, suivez-moi sur twitter