Duplicata possible :
Mot de passe oublié : quelle est la meilleure méthode pour mettre en œuvre une fonction de mot de passe oublié ?
Je programme un site web communautaire.
Je veux créer une fonction "mot de passe oublié".
En regardant sur différents sites, j'ai découvert qu'ils utilisent l'une des méthodes suivantes trois options :
-
envoyer à l'utilisateur un e-mail avec un lien vers une URL unique et cachée qui lui permet de changer son mot de passe (Gmail et Amazon)
-
envoyer à l'utilisateur un courriel avec un nouveau mot de passe généré de manière aléatoire (Wordpress)
-
envoyer l'utilisateur son mot de passe actuel (www.teach12.com)
Option n° 3 semble la plus pratique pour l'utilisateur, mais comme j'enregistre les mots de passe sous forme de hachage MD5, je ne vois pas comment l'option 3 serait disponible pour moi puisque MD5 est irréversible . Cela semble également être insécurité car cela signifie que le site Web doit enregistrer le mot de passe en clair quelque part, et qu'au moins le mot de passe en clair est envoyé à l'utilisateur par courrier électronique non sécurisé. Ou est-ce que quelque chose m'échappe ?
Donc si je ne peux pas faire l'option 1, option 2 semble être le le plus simple à programmer puisqu'il me suffit de changer le mot de passe de l'utilisateur et de le lui envoyer. Bien que cela soit plutôt insécure puisque vous devez avoir un mot de passe vivant communiqué par un e-mail non sécurisé. Cependant, les fauteurs de troubles pourraient aussi en abuser pour harceler les utilisateurs en tapant des e-mails au hasard et en changeant constamment les mots de passe des différents utilisateurs.
Option 1 semble être le le plus sûr mais nécessite un peu de programmation supplémentaire pour gérer une URL cachée qui expire, etc., mais il semble que ce soit ce qu'utilisent les grands sites.
Quelle expérience avez-vous de l'utilisation/programmation de ces différentes options ? Y a-t-il des options que j'ai oubliées ?