Aller au menu - Aller au contenu

[Plan du site] Vous êtes ici --- > Le Site du Zéro > Les forums > Le Site du Zéro v3 > Rapports de bugs > Bug sur le cryptage > Lecture du sujet

Bug sur le cryptage

sur PHP

Vous devez être inscrit pour pouvoir poster des messages

RésoluLe problème de ce sujet a été résolu

Page : 1 
Auteur Message
1 visiteur sur ce sujet (1 anonyme)
Page : 1 
Hors ligne grandbrinus # Posté le 14/06/2008 à 17:36:22
Avatar
Groupe : Membres
Bonjour, je viens d'ajouter a mon site un .htaccess/.htpasswd, en suivant vos étapes, tout avait l'air de fonctionnner, sauf qu'en fait non, lorsque je rentrais le mot de passe dans le formulaire, il me disait qu'il été faux et me redemandait le login/mot de passe...

J'ai appelé mon hébergeur, il m'a indiqué que la fonction PHP crypt() ne marchait pas, qu'il fallait utiliser d'autres outils (notament avec Apache ou sur certains sites) pour crypter correctement. J'ai essayé et maintenant tout fonctionne. Je pense donc qu'il faudrait corriger cela dans l'annexe Proteger avec un .htaccess du cours PHP/Mysql edité par M@teo21.


Hors ligne Natim # Posté le 16/06/2008 à 11:13:06
Apprendre à coder c'est coder
Avatar
Groupe : Membres
Je regrette de te dire, que la fonction crypt fonctionne effectivement très bien pour ce genre d'usage.

Comme le montre l'exemple deux de la doc : http://fr3.php.net/manual/en/function.crypt.php
Édité le 16/06/2008 à 15:44:33 par Natim

from utbm import partiels
Python IRC sur Epiknet
@ bientôt Natim
Status Jabber : Image utilisateur Image utilisateur
Zenwalk-fr.org
 
Hors ligne souls killer # Posté le 16/06/2008 à 15:57:41
I have a dream, today !!
Avatar
Groupe : Membres
Citation : *e*r*t*

Une fois n'est pas coutume, corrigeons les gens cette fois en PHP, et pas n'importe qui en plus :-° .

Natim, comme je te l'ai dit sur IRC, crypt('chaine') sans spécifier de salt va automatiquement choisir le meilleur encryptage disponible sur la machine où PHP est exécuté. Pour un .htpasswd cependant, Apache n'accepte que le standard DES. Or :
Code : PHP
1
2
3
<?php
echo crypt('foobar'); // $1$Lmc4s0LO$gz8bFsD68TYaSnVhiZjsz1 <-- pas du standard DES mais du MD5
?>


Donc si l'utilisateur a une lib de cryptage installée (genre mcrypt que j'ai chez moi), crypt n'utilisera pas le standard DES mais un algo meilleur. Pour l'y forcer, il faut faire comme ceci :
Code : PHP
1
2
3
4
<?php
define('CHAINE_DE_DEUX_CHARS_ALEATOIRES', '26');
echo crypt('foobar', CHAINE_DE_DEUX_CHARS_ALEATOIRES); // 26maCY.aNz6c2 qui est du standard DES utilisable dans un htpasswd
?>


"Qui mange du boeuf... Mange du boeuf
Qui mange du porc... N'est pas musulman"
:D
Rédigez vos news !! | le Manuel du Zér0 | Rédigez des Cahiers des Charges pour vos projets, organisez-vous ![En refonte] | Perdu sur le Web ?
 
Hors ligne Natim # Posté le 16/06/2008 à 16:04:21
Apprendre à coder c'est coder
Avatar
Groupe : Membres
Effectivement, si la bibliothèque mcrypt est installée, le comportement de la fonction est modifié ce qui explique pourquoi cela ne fonctionnait pas avec toi.

Il serait judicieux cependant d'avoir un salt aléatoire bien qu'il soit reproduit dans les deux premiers caractères du salt mais ceci empêche que deux utilisateurs ayant le même mot de passe soit reconnu par le lecteur du fichier.

from utbm import partiels
Python IRC sur Epiknet
@ bientôt Natim
Status Jabber : Image utilisateur Image utilisateur
Zenwalk-fr.org
 

Retour au forum "Rapports de bugs" ou à la liste des forums

Vous devez être inscrit pour pouvoir poster des messages

Changer de design | En savoir plus | Plan du site | Politique d'accessibilité | Règles | RSS tutoriels | RSS news
Édité par Simple IT SARL : Nous contacter | Notre blog | Revue de presse | Publicité

Y'a plus rien à lire, faut remonter maintenant !

Hébergement web - Correction de tutoriels - Créer un site
Vous souhaitez apparaître ici ? Contactez-nous.

Nombre de connectés 33 Zéros connectés | Requêtes SQL 9 requêtes | Temps de génération de la page : Total (SQL) 0.0277s (0.0143s)