Redéfinir son mot de passe grâce à une adresse mail [Résolu/Fermé]

Signaler
Messages postés
42
Date d'inscription
jeudi 26 mai 2011
Statut
Membre
Dernière intervention
26 mai 2013
-
Messages postés
196
Date d'inscription
mardi 10 novembre 2009
Statut
Membre
Dernière intervention
11 septembre 2013
-
Bonjour,
J'ai un projet à rendre pour mon école, je voudrais faire un mot de passe oublié , j'ai donc créer un formulaire avec un champs adresse mail et quand on envoie l'adresse mail grâce au formulaire et bah que la personne puis redéfinir son mot de passe. Je n'ai aucune idée de comment faire exactement merci de proposer des solutions.
Cordialement

2 réponses

Messages postés
816
Date d'inscription
mercredi 20 février 2013
Statut
Membre
Dernière intervention
24 novembre 2018
91
Salut salut,

Personnellement je génèrerais un mot de passe aléatoire qui serait envoyé par mail, et ferais une autre partie changer mot de passe s'il veut le changer.

Résolu? ===> [RESOLU]
Messages postés
196
Date d'inscription
mardi 10 novembre 2009
Statut
Membre
Dernière intervention
11 septembre 2013
24
Alors, le principe général c'est de donner un lien unique de changement de mot de passe. Du type http://monsite.com/forgotpwd.php?token=hAGDhhdhzud254sa

La clé de ton formulaire ça va être le paramètre "token" (tu l'appelles comme tu veux). C'est ce qui va rendre ton formulaire de redéfinition de mot de passe unique à l'utilisateur.

Il te faudra une table, où stocker les tokens générés accompagnés de l'id ou nom de l'utilisateur (minimum).

Le schéma sera le suivant :

L'utilisateur remplit le formulaire de réinitialisation de mot de passe et l'envoie :
- Tu génère un token du style md5('adresse_mail');
- Tu stocke ce token ainsi que l'utilisateur l'ayant demandé en base.
- Tu donne le lien correspondant dans l'email.

Ensuite admettons que l'utilisateur clique sur le lien,

Déjà tu verifies que le token est bien en base. Si c'est le cas, tu le laisse remplir son nouveau mot de passe, tu enregistres toussa puis important : tu supprimes le token de la base une fois que c'est fait.