Cryptage des mots de passe dans .htaccess
MGD
-
MGD -
MGD -
Bonjour,
Je gère une bonne douzaine de sites web. La presque totalité a des répertoires protégés par mot de passe à l'aide du couple .htaccess/.htpasswd. Pas de problème particulier, mais une question dont je ne trouve la réponse nulle part:
Les mots de passe peuvent être cryptés ou non. Selon l'hébergeur, le cryptage est obligatoire, chez d'autres il est interdit. La méthode de cryptage peut être soit en crypt, soit en MD5, soit en SHA1. J'en déduit que c'est paramétrable quelque part dans Apache.
J'ai un serveur local (EasyPhp 2.0 sous windows) sur lequel je voudrais activer les mots de passe cryptés. J'ai essayé de mettre des mots de passe cryptés avec chacune des trois méthodes, rien ne fonctionne. Seuls les mots de passe en clair fonctionnent. Il faut donc paramétrer, mais impossible de trouver le paramètre qui définit le cryptage et sa méthode !
Quelqu'un saurait où ça se trouve ??
Merci pour des réponses PRÉCISES.
Je gère une bonne douzaine de sites web. La presque totalité a des répertoires protégés par mot de passe à l'aide du couple .htaccess/.htpasswd. Pas de problème particulier, mais une question dont je ne trouve la réponse nulle part:
Les mots de passe peuvent être cryptés ou non. Selon l'hébergeur, le cryptage est obligatoire, chez d'autres il est interdit. La méthode de cryptage peut être soit en crypt, soit en MD5, soit en SHA1. J'en déduit que c'est paramétrable quelque part dans Apache.
J'ai un serveur local (EasyPhp 2.0 sous windows) sur lequel je voudrais activer les mots de passe cryptés. J'ai essayé de mettre des mots de passe cryptés avec chacune des trois méthodes, rien ne fonctionne. Seuls les mots de passe en clair fonctionnent. Il faut donc paramétrer, mais impossible de trouver le paramètre qui définit le cryptage et sa méthode !
Quelqu'un saurait où ça se trouve ??
Merci pour des réponses PRÉCISES.
A voir également:
- Cryptage des mots de passe dans .htaccess
- Trousseau mot de passe iphone - Guide
- Mot de passe - Guide
- Mot de passe administrateur - Guide
- Mot de passe bios perdu - Guide
- Voir mot de passe wifi android - Guide
5 réponses
Bonjour
Ça se trouve dans le fichier de mots de passe lui même, et c'est à toi d'indiquer quel codage tu utilises quand tu ajoutes le mot de passe au fichier.
Pour ajouter un mot de passe au fichier, tu utilises bien l'utilitaire htpasswd fourni avec Apache ?
Ça se trouve dans le fichier de mots de passe lui même, et c'est à toi d'indiquer quel codage tu utilises quand tu ajoutes le mot de passe au fichier.
Pour ajouter un mot de passe au fichier, tu utilises bien l'utilitaire htpasswd fourni avec Apache ?
Ach ! J'ai trouvé ! (grâce à la question apparemment bête mais à l'évidence pas inutile "Pour ajouter un mot de passe au fichier, tu utilises bien l'utilitaire htpasswd fourni avec Apache ?").
Je n'utilisais pas htpassword.exe mais une page PHP perso qui cryptait en MD5 et SHA1 les mots de passe qu'on lui donnait. Le résultat n'est pas du tout le même, ni en MD5 ni en SHA ! Pourtant les routines md5() et sha1() de PHP sont réputées conformes à la norme !?
Par exemple, pour le login "truc" et le mot de passe "muche", les résultats en MD5 donnent ceci :
htpassword.exe : $apr1$I01.....$Oe0cnUnqxrl9NV0bxp6CM/
php : md5("muche") = e7c6a0c72bf7c2fa9ffa7858b534b896
htpassword.exe demande le nom utilisateur. C'est bien sûr pour insérer dans le fichier .htpassword, mais je soupçonne aussi qu'il utilise ce nom pour personnaliser le mot de passe de façon spécifique.
Le problème est que je crée le fichier .htpassword de façon dynamique à l'aide d'un formulaire d'inscription. Je ne peux donc pas utiliser htpassword.exe pour créer les mots de passe cryptés. Quelqu'un connaît-il la subtilité du cryptage MD5 spécifique à Apache ? (algorithme bienvenu)
"c'est à toi d'indiquer quel codage tu utilises quand tu ajoutes le mot de passe au fichier"
comment on fait ça ?? Dans le fichier .htaccess, je n'ai jamais lu qu'il faille mettre autre chose que les lignes (sauf authentification autre que "basic, bien sûr):
AuthType Basic
AuthUserFile D:\Web\www\restricted\.htpasswd
AuthName "Mon espace"
require valid-user
Jamais vu de paramètre spécifiant le type de codage.
Merci pour plus d'infos là-dessus.
En attendant, j'en suis réduit à toujours utiliser les sessions, avec test dans chaque page, ce qui est lououourd !
Je n'utilisais pas htpassword.exe mais une page PHP perso qui cryptait en MD5 et SHA1 les mots de passe qu'on lui donnait. Le résultat n'est pas du tout le même, ni en MD5 ni en SHA ! Pourtant les routines md5() et sha1() de PHP sont réputées conformes à la norme !?
Par exemple, pour le login "truc" et le mot de passe "muche", les résultats en MD5 donnent ceci :
htpassword.exe : $apr1$I01.....$Oe0cnUnqxrl9NV0bxp6CM/
php : md5("muche") = e7c6a0c72bf7c2fa9ffa7858b534b896
htpassword.exe demande le nom utilisateur. C'est bien sûr pour insérer dans le fichier .htpassword, mais je soupçonne aussi qu'il utilise ce nom pour personnaliser le mot de passe de façon spécifique.
Le problème est que je crée le fichier .htpassword de façon dynamique à l'aide d'un formulaire d'inscription. Je ne peux donc pas utiliser htpassword.exe pour créer les mots de passe cryptés. Quelqu'un connaît-il la subtilité du cryptage MD5 spécifique à Apache ? (algorithme bienvenu)
"c'est à toi d'indiquer quel codage tu utilises quand tu ajoutes le mot de passe au fichier"
comment on fait ça ?? Dans le fichier .htaccess, je n'ai jamais lu qu'il faille mettre autre chose que les lignes (sauf authentification autre que "basic, bien sûr):
AuthType Basic
AuthUserFile D:\Web\www\restricted\.htpasswd
AuthName "Mon espace"
require valid-user
Jamais vu de paramètre spécifiant le type de codage.
Merci pour plus d'infos là-dessus.
En attendant, j'en suis réduit à toujours utiliser les sessions, avec test dans chaque page, ce qui est lououourd !
Je crois qu'on doit le spécifier pour le SHA1 au début du cryptage par ceci {SHA} ou quelque chose comme ça...juste après l'utilisateur genre:
olivier:{SHA}...
Mais sinon en MD5 non pas besoin d'indiquer et encore moins en DES...en tout cas jamais entendu parlé.
EN plus je dit ça mais moi je parle du htpasswd pas du htaccess ^_^! C'est surement par défaut d'ailleurs qu'il faut mettre {SHA} ?
Enfin bref, bonne chance.
olivier:{SHA}...
Mais sinon en MD5 non pas besoin d'indiquer et encore moins en DES...en tout cas jamais entendu parlé.
EN plus je dit ça mais moi je parle du htpasswd pas du htaccess ^_^! C'est surement par défaut d'ailleurs qu'il faut mettre {SHA} ?
Enfin bref, bonne chance.
grâce à la question apparemment bête Si je l'ai posée, c'est que je doutais un peu de la réponse ;)
Le cryptage des mots de passe est basé sur MD5 ou SHA, ça ne veut pas dire que c'est directement le résultat de l'appel à la fonction md5()...
Des détails ici, dont un lien qui te mène vers un code en C qui te donne l'algorithme complet pour le md5. Bon courage !
http://httpd.apache.org/docs/2.2/misc/password_encryptions.html
Le cryptage des mots de passe est basé sur MD5 ou SHA, ça ne veut pas dire que c'est directement le résultat de l'appel à la fonction md5()...
Des détails ici, dont un lien qui te mène vers un code en C qui te donne l'algorithme complet pour le md5. Bon courage !
http://httpd.apache.org/docs/2.2/misc/password_encryptions.html
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Génial !
avec la ligne PHP :
$pass_crypte = '{SHA}' . base64_encode(sha1($pass, TRUE));
j'obtiens exactement la même chose qu'avec le htpasswd.exe d'Apache.
Cela prouve bien qu'Apache n'utilise pas le cryptage du simple mot de passe, mais qu'il lui ajoute un sur-encodage de type URL (sans parler du préfixe {SHA}).
Merci beaucoup pour le lien, "le pere"
avec la ligne PHP :
$pass_crypte = '{SHA}' . base64_encode(sha1($pass, TRUE));
j'obtiens exactement la même chose qu'avec le htpasswd.exe d'Apache.
Cela prouve bien qu'Apache n'utilise pas le cryptage du simple mot de passe, mais qu'il lui ajoute un sur-encodage de type URL (sans parler du préfixe {SHA}).
Merci beaucoup pour le lien, "le pere"