Site Web, je voudrais implémenter oublier le mot de passe. J'utilise les étapes suivantes p>
aidez-moi s'il vous plaît si je fais bien ou non? p>
Y a-t-il un autre mécanisme sécurisé pour la même chose? P>
aide s'il vous plaît? P>
4 Réponses :
Il y a plusieurs façons que cela a été mis en œuvre. Comme vous l'avez dit, générer un nouveau mot de passe et l'envoyer à l'adresse électronique enregistrée est une méthode. Je ne suggérerais pas que vous alliez cependant que votre mot de passe serait réinitialisé chaque fois que quelqu'un essayait de deviner mon mot de passe. P>
Au lieu de cela, la meilleure chose à laquelle j'ai vue à ce jour consiste simplement à envoyer un courrier électronique enregistré avec un lien qui commencera un processus de réinitialisation du mot de passe. Vous pouvez même laisser l'utilisateur savoir quelle adresse électronique à vérifier en affichage d'une version masquée de leur adresse e-mail utilisée dans l'inscription: p>
Un email a été envoyé à
******** code> @ hotmail.com. Veuillez vérifier votre boîte de réception pour continuer. Em> p> blockQuote>
Assurez-vous de garder en compte ceux d'entre nous qui peuvent oublier quelle adresse électronique a été enregistrée - généralement quelques questions de sécurité constituent un excellent moyen de rendre cette information disponible. P>
+1 Considérez l'utilisateur enregistré avec foo@bar.com toute préoccupation de sécurité avec disant «Nous vous sommes envoyés par courrier électronique un lien à l'adresse e-mail que vous avez utilisée ... Commentaires avec FOO @» ... Commentaires sur cette stratégie?
@pcampbell - +1 J'aime vraiment cette idée, car je veux parfois savoir quel email je suis inscrit, mais je pense qu'une meilleure approche consiste à fournir le nom de domaine au lieu de l'adresse e-mail (@ hotmail.com, @ yahoo.com , @ gmail.com) Depuis que je pense que la plupart des gens sont susceptibles d'avoir la même adresse électronique, juste à différents fournisseurs.
J'aime voir une version masquée de mon adresse e-mail si quelque chose. J'ai mis à jour mon message pour refléter cela.
Vous devez d'abord vous devez d'abord valider le courrier électronique de l'utilisateur, puis si la validation passe, puis envoyez un mot de passe à l'e-mail.
Hemant, non. J'enverrais le courrier électronique à l'adresse e-mail sur le fichier pour ce nom d'utilisateur particulier.
Ne pouvons-nous pas envoyer de nouveau mot de passe automatiquement à l'utilisateur; Quand il clique sur le lien avec email?
Montrer le nom de domaine présente un problème de confidentialité car dans certains cas, le nom de domaine seul peut identifier un utilisateur.
Ricknz, masque autant que vous jugez nécessaire :)
Hemant, vous pouvez envoyer un nouveau mot de passe aléatoire si vous le souhaitez. Je préférerais d'avoir la mienne, mais c'est tout à fait à vous de décider.
Je l'ai fait récemment. Lorsque l'utilisateur entre dans son nom d'utilisateur ou son adresse e-mail, nous génèverons un jeton unique et envoyons-lui un courrier électronique dans le cadre d'un lien. Dès réception de cet email, ils cliquent sur le lien et sont automatiquement connectés, suivis à l'écran Mon compte et invités à réinitialiser leur mot de passe. P>
Bien sûr, cela repose 100% sur la sécurité du client de messagerie, mais il est difficile de battre du point de vue de la convivialité. P>
C'est une excellente solution, n'oubliez tout simplement pas de stocker uniquement un hasch du mot de passe et non le mot de passe en texte brut. Vous devez également supprimer le CAPTCHA, car il n'est pas vraiment nécessaire car vous devez vérifier le match entre l'email et le nom d'utilisateur.
J'ai peu de questions? 1. Quel est l'avantage de générer un jeton unique. 2. Si je redirige de la page de compte d'utilisateur sur lequel l'utilisateur doit taper un nouveau mot de passe, ce qui se passera si je génère automatiquement un mot de passe et envoyer un courrier électronique à l'utilisateur? Quelle est la raison pour que nous puissions générer un jeton unique et montrer un formulaire de compte à l'utilisateur pour changer de mot de passe?
La différence entre générer automatiquement un mot de passe et avoir l'utilisateur (authentifié) Entrez un mot de passe, est-ce qu'ils se souviendront de celui qu'ils entrent. De plus, il ne conserve pas le mot de passe dans l'e-mail, jamais, au cas où quelqu'un gagne plus tard l'accès à un courrier électronique sauvegardé plus tard, cela ne les aidera pas à le casser.
Ok, dites-moi une chose que si l'utilisateur clique sur le lien d'un jeton unique, il est-il bon de rendre l'utilisateur connecté automatiquement; Sans demander des informations d'identification de connexion
@HEMANT: Oui, vous pouvez les enregistrer automatiquement à condition que vous ayez le jeton. Vous voyez, le jeton est l'authentification (différée), qui a été obtenue à travers le lien «Mode de passe oublié». Il affirme qu'ils ont accès à leur compte de messagerie.
Je peux voir pourquoi vous voudriez un captcha, mais je prendrais une approche différente. P>
Pour ceux qui croient que vous devriez dire à l'utilisateur où le courrier électronique est parti, je suis fortement en désaccord. Ceci est "Fuite d'informations", même si vous le limitez au nom de domaine. Par exemple, disons que je suis inscrit sur jeffatwoodsbabies.com comme welldart. Si Jeff avait demandé une réinitialisation du mot de passe pour moi et que vous avez montré le domaine d'enregistrement, il verrait Idunno.org. Ceci est mon domaine personnel et jeffrions donc que l'utilisateur de SoLDART est en fait. Ceci est un De plus, vous ne devriez pas afficher des messages d'erreur du tout. Peu importe ce qui se passe, un nom d'utilisateur n'est pas réellement enregistré, ni trop de demandes de requêtes ou que le ciel est tombé, vous devez dire à l'utilisateur que la procédure de réinitialisation du mot de passe a commencé. Informer un utilisateur qu'un compte n'existe pas est plus de fuites d'informations. P>
Une dernière chose que vous pourriez faire est d'ajouter un jeton CSRF à la page de demande de réinitialisation, de sorte qu'il ne peut donc pas être piloté d'autres sites Web. P>
suivi em> p>
afin de répondre à vos autres questions. P>
Et si un véritable utilisateur entrait son info, mais cela l'orthographique accidentellement? Maintenant, vous leur avez dit que leur processus a commencé et qu'ils ne remarquent pas leur erreur et d'aller sur leur entreprise, mais ne recevez jamais le courrier électronique et ne vous demandez jamais pourquoi votre site est cassé.
Eh bien, vous devez équilibrer la sécurité contre les utilisateurs hamfistés. Ce n'est qu'un choix que le site admin peut faire, mais en général, je recommande que mes clients se présentent du côté de la sécurité. Les fuites d'informations sont sur le TOP TOP TEN - Ils ne sont pas quelque chose à prendre à la légère.
Merci, vous avez effacé mes questions. Y a-t-il un lien où je peux voir la démonstration des étapes que vous avez écrites?
Aussi, pouvez-vous me dire la procédure de validation de l'ID de jeton
Non - ça va toujours être unique par site et je ne suis pas un à la main pour partager.
Eh bien, cela dépend de la façon dont vous les générez. Et c'est jusqu'à vous i>. Vous pouvez, par exemple, générer un GUID, la pousse dans une table de base de données liée à l'ID d'adhésion et le rechercher quand il arrive. Mais vraiment à un moment donné, vous devez commencer à regarder comment vous i> mettez en œuvre votre site et décidez ce qui convient à votre flux de travail i>.
Ok, dites-moi une chose que si l'utilisateur clique sur le lien d'un jeton unique, il est-il bon de rendre l'utilisateur connecté automatiquement; Sans demander des informations d'identification de connexion
Je ne le ferais pas, jusqu'à ce que le changement de mot de passe soit terminé. Cela dépend - puis-je générer un nouveau mot de passe ou permettre une réinitialisation via un formulaire. Si le formulaire est alors oui, je vous connecterais après la saisie du nouveau mot de passe.
Hey Shelldart, je pense à un point; Disons que j'ai eu votre lien de jeton et je clique sur le lien pour un nouveau mot de passe, il ne m'empêchera pas de nouveau pour le nouveau mot de passe, car la seule validité est le jeton. N'est pas
Ce commentaire n'a aucun sens - alors je devine. Ainsi, imaginez un lien envoyé par courrier électronique à l'adresse e-mail enregistrée, comme showmethecodez.com/resetpassword/ ... de sorte que la page de mot de passe de réinitialisation reçoit le compte de l'ID de compte et vérifie que le jeton a été émis sur ce compte pour une réinitialisation du mot de passe. Il invalide le jeton afin qu'il ne puisse pas être réutilisé et vous invite à un nouveau mot de passe pour le compte. Vous pouvez / si vous devriez crypter symétriquement l'ID de compte ou avoir une référence d'objet indirecte à la place, cela illustre simplement l'idée.
Juste hors de curiosité, pourquoi différentes fenêtres de temps pour la demande de l'utilisateur et la demande IP? Lequel pensez-vous être plus grand et pourquoi?
Vous voudriez vérifier la réponse à la question suivante: Peut-on peut fournir des références pour la mise en œuvre des mécanismes de réinitialisation automatique de l'application Web correctement? a> de DW sur Security.StaCkExchange. P>
C'est la réponse la plus complète que j'ai trouvée sur le sujet. Je vous suggère également de lire cet article: tout Vous avez toujours voulu savoir sur la construction d'une fonctionnalité de réinitialisation de mot de passe sécurisé p>