Problème pour se connecter à une zone membre (cryptage mdp)

Résolu
BenamourJr Messages postés 31 Date d'inscription jeudi 25 mars 2010 Statut Membre Dernière intervention 18 septembre 2010 - 4 mai 2010 à 16:12
BenamourJr Messages postés 31 Date d'inscription jeudi 25 mars 2010 Statut Membre Dernière intervention 18 septembre 2010 - 4 mai 2010 à 16:54
Bonjour,

Je viens de remarquer quelque chose de très bizarre... Avec mon pseudo (Benamour) et le mot de passe que j'ai enregistré lors de mon inscription à la zone membre de mon site (xxx), je parviens à me connecter. Ok, jusqu'à là c'est parfait, le problème c'est que si j'essaie de me connecter avec le mot de passe xxx7 je parviens aussi à me connecter ! J'ai fait le test avec un pseudo "Test" et un mot de passe "test" et là je ne parviens pas à me connecter avec le mot de passe "test7". o.O ?

Voici comment je procède pour crypter le mot de passe :

Lors de l'enregistrement du nouveau compte, je procède comme suite :
$mdp = crypt($_POST["mdp"], $_POST["pseudo"]);
Je crypte donc le mot de passe en fonction du mot de passe et du pseudo renseigné par le visiteur et j'enregistre le résultat dans ma table.

Puis, une fois que le membre veut se connecter je procède comme suite :
$mdp_crypted = crypt($_POST["mdp"], $_POST["pseudo"]);
if ($mdp_crypted != $mdp)
Donc ici je récupère dans la table le mot de passe du membre ($mdp) et je le confronte au cryptage du mot de passe et du pseudo qu'il a rentré pour se connecter. Si les deux résultats sont différents, il n'a pas accès au compte.

Ou se trouve mon erreur ? En fait j'ai fait le test, et le cryptage associé à mon pseudo me renvois la meme valeur que mon mot de passe soit xxx ou xxx7 (mon mot de passe n'est bien évidemment pas xxx mais quelque chose du style ChOcOlAt7*@.

Voilà, j'espère que l'un de vous pourra m'aider, j'en ai marre de me gratter la tête toutes les 5 minutes :p

2 réponses

BenamourJr Messages postés 31 Date d'inscription jeudi 25 mars 2010 Statut Membre Dernière intervention 18 septembre 2010 1
4 mai 2010 à 16:54
Je viens de consulter plus attentivement la doc, en fait la fonction crypt se base uniquement sur les 8 premiers caractères de la chaine, c'est pour ça que le "test7" lui ne passait pas ^^

Merci en tout cas pour ton aide, je vais utiliser sha1 plutôt que md5 mais ca reste le meme principe ;)
3
gaellius95 Messages postés 19 Date d'inscription lundi 3 mai 2010 Statut Membre Dernière intervention 12 mai 2010
4 mai 2010 à 16:25
ton problème de mot de passe fait la même chose si tu met
xxx8 ou xxx9?

as tu fais des echos de ton $mdp en fonction du mdp et du pseudo que tu récupères'as tu des concordances ou pas?

c'est quand meme bisard vu que crypt c'est du DES et que donc meme si tu met 2 fois le meme mot tu auras 2 mot crypter different (si je me rappel bien mes cours de crypto)

remarque tu peux faire le test de crypter 2 fois la meme chose et voir le resultat

moi perso j'utilise md5 pour crypter mes mdp mais du coup pas moyen de les décryptés...et ca me pose problème dans un de mes scripts...
0
Rejoignez-nous