Générer vos mots de passe pour htpasswd

Vous pouvez utiliser les fichiers de configuration Apache pour protéger l'accès à un répertoire de votre site. Nous allons voir ici comment créer vos mots de passe que doit contenir le fichier .htpasswd.

Le fichier .htpasswd

Le fichier .htpasswd est un fichier texte qui doit être composé d'une ou plusieurs lignes. Ce fichier contient la liste des personnes autorisées à accéder aux pages du dossier. Ces lignes doivent être de la forme suivante :

utilisateur:mot_de_passe_crypte

L'utilisateur est écrit en clair. Le mot de passe est crypté.

Crypter le mot de passe avec Linux

Sous linux, il est possible d'obtenir le mot de de passe cryptée avec la commande htpasswd :

htpasswd -n utilisateur1
New password:
Re-type new password:

Vous remplacez utilisateur1 par le nom d'utilisateur que vous désirez. Vous entrez votre passe en clair, une première fois. Puis une seconde fois pour confirmer et la commande htpasswd retournera une ligne ressemblant à ceci

utilisateur1:$apf1$5RJiU0D/$W/RM9T8JSZtC/YrbF0Gfd0

Il ne reste plus qu'à ajouter ce résultat à votre fichier .htpasswd.

Crypter le mot de passe avec une commande PHP

Il y a une fonction PHP qui va permettre de crypter le mot de passe. C'est la commande crypt(). Vous lui donnez un mot de passe et elle vous le crypte, tout simplement. Voici un exemple de cette commande PHP :

<?php 
echo crypt('Mot-de-passe-a-crypter'); 
?>

Le script vous retournera quelque chose du genre :

$apf1$5RJiU0D/$W/RM9T8JSZtC/YrbF0Gfd0

Ensuite, il vous suffit de copier ce résultat dans votre fichier .htpasswd, en n'oubliant pas de préciser l'utilisateur, comme la ligne suivante :

utilisateur1:$apf1$5RJiU0D/$W/RM9T8JSZtC/YrbF0Gfd0

Notes de version

  • [16/02/2017] : Création de l'article

Auteurs et sources