Créer une page de 'mot de passe oublié'

Fermé
a70m Messages postés 2763 Date d'inscription jeudi 21 mai 2009 Statut Contributeur Dernière intervention 2 février 2014 - 10 avril 2010 à 11:24
 nico2a - 18 mars 2011 à 14:10
Bonjour à tous,

J'ai créé un site avec un espace membre etc etc ... Il fonctionne parfaitement.
J'ai aussi essayé de créer la fonction mot de passe oublié de la manière suivante :
(tous les mots de passe sont hachés en MD5)

On demande le pseudo et l'adresse e-mail, s'ils correspondent, on envoie un mail contenant un mot de passe aléatoire provisoire en md5 et on fait une requête SQL qui change le mot de passe du membre en question et qui le remplace par le provisoire.
Ensuite le membre peut se connecter avec ce mot de passe provisoire.

Mais il y a des bugs ... Rien ne fonctionne. Parce que dans ma table SQL oubli_pass il ne peut pas y avoir deux fois le même membre, je ne sais pas pourquoi ... Alors j'ai fait un script qui vide la table tous les jours à minuit, mais bon, ce n'est pas très propre comme code donc j'aime pas. De plus, c'est un peu compliqué comme procédure pour les membres ...

Donc j'aimerai savoir si quelqu'un d'entre vous pouvez me dire comment sont faites la plupart des pages 'mot de passe oublié' ou encore m'expliquer comment "dé-hacher" un mot de passe MD5 et l'envoyer par mail au membre.
Evidemment, que je ne puisse pas voir les mots de passe "dé-hachés" question de respect de la confidentialité ...

J'espère avoir été précis, et je reste dans les parages si vous avez besoin de précisions.
Merci d'avance à la communauté !!

Cordialement,
a70m


12 réponses

Nico_ Messages postés 1219 Date d'inscription vendredi 29 décembre 2006 Statut Membre Dernière intervention 15 mars 2016 189
Modifié par Nico_ le 10/04/2010 à 12:22
bonjour,

Perso je fais comme toi sauf que j'utilise pas de table supplémentaires !

Décrypté le mot de passe d'un membre je trouve ça pas super car beaucoup de personne utilise le même mot de passe! (ce n'est que mon avis)

solution 1:

pour ce qui concerne le mot de passe je fais avec 3 champs:

champs datepswd == date du changement du mot de passe par l'utilisateur via le panel
champs pswd == au mot de passe crypté en md5()
champs resetpswd == date d'envois du nouveau mot de passe (dans mon cas un changement de mot de passe par jour!)

Dans se cas un e-mail est envoyer avec le pseudo et le mot de passe aléatoire

Solution 2:

avec les 4 champs

champs datepswd == date du changement du mot de passe par l'utilisateur via le panel
champs pswd == au mot de passe crypté en md5()
champs resetpswd == contient une chaines de caractères crypté et aléatoire (une clé)
champs resetdate == date de validité du champs resetpswd

Dans se cas un e-mail est envoyer avec un lien du type:
thhp://adresse.de.ton.site/resetpswd?key=157495zserty6541cfdr5d5s85
et il peut saisir directement son nouveau mot de passe si le temps est pas dépassé !


si ça peux t'aider
Bonne journée
0