Outils Développeur
Générateur de .htpasswd
Générez des fichiers .htpasswd pour l'authentification HTTP basique d'Apache et Nginx en toute sécurité dans votre navigateur. Prend en charge bcrypt, APR1-MD5 et SHA-1. Les mots de passe ne sont jamais envoyés au serveur.
Conseils
- Utilisez bcrypt : l'algorithme le plus sécurisé disponible. Compatible avec Apache 2.4+ et Nginx. Plus le coût est élevé, plus le hachage est lent et résistant aux attaques par force brute (10 est une valeur courante).
- APR1-MD5 (
$apr1$) est destiné à la compatibilité avec Apache 2.2 ou antérieur. Il fonctionne avec pratiquement toutes les versions d'Apache et Nginx. - SHA-1 (
{SHA}) offre une faible résistance aux collisions et n'est pas recommandé. Ne l'utilisez que dans des environnements anciens qui l'exigent. - Placez le fichier .htpasswd en dehors du
DocumentRootpour qu'il ne soit pas accessible directement depuis le web. - Utilisez toujours HTTPS. Les identifiants d'authentification basique sont simplement encodés en Base64, pas chiffrés — ils transitent en clair sur HTTP.
Questions fréquentes
.htaccess ou httpd.conf, en pointant AuthUserFile vers le fichier .htpasswd généré :AuthType Basic AuthName "Restricted Area" AuthUserFile /etc/apache2/.htpasswd Require valid-user
nginx.conf ou au bloc server concerné :location /admin {
auth_basic "Restricted Area";
auth_basic_user_file /etc/nginx/.htpasswd;
}Nginx prend en charge bcrypt et APR1-MD5.utilisateur:hash) à la fin du fichier existant. Chaque ligne représente un utilisateur. Les lignes vides et celles commençant par # sont ignorées.
Anecdote — Pourquoi Basic Auth survit malgré son âge
L'authentification HTTP basique a été définie en 1999 par la RFC 2617 (mise à jour par la RFC 7617). Le mécanisme est simple : concaténer le nom d'utilisateur et le mot de passe avec :, encoder en Base64 et envoyer dans l'en-tête Authorization.
C'est précisément cette simplicité qui explique sa longévité : idéale pour les environnements de staging, les outils internes ou comme première ligne de défense combinée à des listes blanches d'IP. Deux ou trois lignes de configuration suffisent, sans middleware ni base de données supplémentaires.
Ses limites sont cependant réelles : pas de mécanisme de déconnexion (la session persiste jusqu'à la fermeture du navigateur), pas de gestion de l'expiration des mots de passe ni d'authentification multifacteur native. Pour des services en production avec des exigences de sécurité réelles, envisagez OAuth 2.0 ou OIDC.