Mot de passe oublié quand mdp haché

Utilisateur anonyme -  
 Utilisateur anonyme -
Bonjour,


Je possède un espace membre mais je n'ai pas codé les mots de passes, ils sont donc en entier dans la base de donnée. J'ai changé d'avis car ce n'est pas sécurisé, donc j'ai rajouté $md5 = md5('$mdp'); pour crypter ceci.

Mais je viens de me poser une question : j'ai une page avec "mot de passe oublié" et qui envois le mot de passe par mail. Mais comment faire comme le mot de passe est hashé ?

Merci.

2 réponses

KX Messages postés 16761 Date d'inscription   Statut Modérateur Dernière intervention   3 020
 
Tu envois un nouveau mot de passe à l'utilisateur par mail, et tu le hashes dans ta base de données.
0
Utilisateur anonyme
 
Mais j'ai un autre soucis :/ je comprends pas comment on hashe parce que à l'inscription j'ai mis le code dit plus haut, mais il dit que mon mot de passe est faux. Le bon mot de passe est e36b5cc8dfbefe0f8aa32c881213e40b

Il y a un problème...
0
Atropa Messages postés 1940 Date d'inscription   Statut Membre Dernière intervention   274
 
bonjour,

il faut généreux une clé dans un champs de la db par exemple passlost.

pour générer la clé tu peux faire $key = md5(mt_rand());

donc à la demande de récupération de mot de passe tu génères cette clé et tu envois un liens qui redirige sur un formulaire qui permet de redéfinir un mot de passe.

par exemple monsite.fr/?passlost=laclégénéré.

et tu peux l'utiliser pour identifier le membre grâce à cette clé (qu'il faut supprimer à la fin de la manipulation pour ne pas laisser d'ouverture), tu recois le formulaire avec le nouveau mot de passe tu le hashs et grâce à la clé tu sais a qui il appartient.

pas super clair mais c'est le mieux a faire.

pour plus de sécurité tu peux donner un temps de validité a la clé et mettre un captcha.
0
Utilisateur anonyme
 
Je n'ai pas compris, désolé :/
0