Comment protéger un dossier par mot de passe avec .htaccess et .htpasswd

Cette page génère le code nécessaire pour protéger un répertoire ou un site complet par identifiant et mot de passe sur un serveur Apache (Linux/Unix). Le mot de passe est chiffré avec bcrypt, le format recommandé par Apache 2.4.

Générer .htaccess et .htpasswd

Saisissez l'identifiant et le mot de passe souhaités et cliquez sur « Générer le code ». Le contenu des fichiers .htaccess et .htpasswd s'affichera.

Chemin absolu sur le serveur du dossier où vous téléverserez .htpasswd, généralement quelque chose comme /home/votre_site/.

Comment fonctionne la protection par .htaccess ?

Apache lit le fichier .htaccess de chaque dossier avant d'en servir le contenu. Avec les directives AuthType Basic et Require valid-user, le serveur demande un identifiant et un mot de passe au navigateur et les vérifie dans le fichier .htpasswd indiqué par AuthUserFile. La protection s'applique aussi à tous les sous-dossiers.

Le fichier .htpasswd contient une ligne par utilisateur au format identifiant:hash. Le mot de passe n'est jamais stocké en clair : ici il est chiffré avec bcrypt ($2y$), pris en charge par Apache depuis la version 2.4. Si votre serveur est plus ancien, vous pouvez générer le hash avec la commande htpasswd d'Apache.