Il est courant sur les formulaires de connexion de voir "L'e-mail ou le mot de passe est incorrect" lorsque l'utilisateur saisit incorrectement les détails de son compte au lieu de simplement "le mot de passe est incorrect". Ceci est, entre autres, parce qu'il s'agit d'une vulnérabilité de sécurité pour informer les utilisateurs que l'e-mail est bien enregistré sur ce site. Vous pouvez le lire dans cette question .
Cependant, dans le cas d'une page de réinitialisation "Mot de passe oublié", il n'y a qu'une entrée pour que l'utilisateur saisisse un e-mail pour lui envoyer un nouveau mot de passe. Si cet e-mail n'est pas enregistré sur mon site et que je mets un message d'erreur disant "Désolé, cet e-mail n'est pas valide", une personne malveillante peut entrer et essayer des e-mails jusqu'à ce qu'elle en trouve un qui ne donne pas cette erreur, ce qui signifie qu'elle a trouvé un compte actif.
Existe-t-il un moyen d'éviter de divulguer ces informations potentiellement risquées?
Je ne peux que penser à limiter le nombre de tentatives de mise en place d'un e-mail car cela ne devrait pas entraver une expérience utilisateur normale.
La façon la plus simple de mettre en œuvre cela est de dire
If a matching account was found an email was sent to [email protected] to allow you to reset your password.
J'ai vu cela sur quelques sites récemment, bien qu'en ce moment ils m'échappent tous. Cela m'a semblé un excellent moyen de contourner ce problème.
Il leur confirme s'ils ont entré le compte de messagerie auquel ils avaient l'intention de se connecter et s'ils ont un compte, ils recevront un e-mail à tout moment.
Vous pouvez implémenter une question de sécurité (ou deux) dans le processus "mot de passe oublié", qui agirait essentiellement comme un mot de passe pour obtenir/réinitialiser votre mot de passe. Ainsi, l'adresse e-mail entrée et les questions de sécurité répondues devraient toutes correspondre, la validation de l'utilisateur est légitime.