可能的重复:
忘记密码:实现忘记密码功能的最佳方法是什么? https://stackoverflow.com/questions/522967/forgot-password-what-is-the-best-method-of-implementing-a-forgot-password-funct
我正在编写一个社区网站。
我想建立一个“忘记密码”功能。
环顾不同的网站,我发现他们采用了其中之一三个选项:
向用户发送包含指向唯一隐藏 URL 的链接的电子邮件允许他更改密码(Gmail 和 Amazon)
向用户发送一封电子邮件,其中包含随机生成的新密码(WordPress)
发送用户他当前的密码(www.teach12.com)
选项#3对用户来说似乎是最方便的,但由于我将密码保存为 MD5 哈希值,因此我不知道如何使用选项#3,因为MD5是不可逆的。这似乎也是insecure选项,因为这意味着网站必须在某处以明文形式保存密码,并且至少明文密码通过不安全的电子邮件发送给用户。或者我在这里遗漏了什么?
所以如果我不能做选项#1,选项#2似乎是最简单的编程因为我只需更改用户的密码并将其发送给他。虽然这是有点不安全感因为您必须通过不安全的电子邮件传递实时密码。然而,这也可能被麻烦制造者滥用纠缠用户通过输入随机电子邮件并不断更改各个用户的密码。
选项1似乎是最安全但需要一些额外的编程来处理过期的隐藏 URL 等,但这似乎是大型网站所使用的。
您有哪些使用/编程这些不同选项的经验?有没有我错过的选项?
4)将两个随机金额记入他们的银行帐户,并要求他们输入这些金额。
5) Snail 向他们邮寄一些新密码并要求他们输入。
6) 让他们用他们注册的手机发短信或拨打某个号码,并在电话号码中输入一些值。
7) 将密码管理外包给 Stack Overflow、Facebook、博客引擎等 OpenID 提供商,以及其他正在开始做的事情,从而完全摆脱密码管理问题。
除此之外,使用选项 #1 或 #2 以及附加功能,两者都会在一小时内过期。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)