【问题标题】:implementing "Forgot password" in asp.net mvc 2.0 by asking user email通过询问用户电子邮件在 asp.net mvc 2.0 中实现“忘记密码”
【发布时间】:2011-05-04 23:21:24
【问题描述】:

我在 asp.net mvc 2.0 站点中实现“忘记密码”功能。场景是,如果我单击忘记密码按钮,它将转到某个页面并要求用户输入他的电子邮件 ID。一旦他输入了他的电子邮件-id ,然后从数据库中检索他的密码并发送到他的电子邮件 id 。 如何将密码发送到用户邮箱。如果您有类似的帖子,请将链接发给我。

【问题讨论】:

  • 你想要代码发送电子邮件给用户还是想要获取密码的逻辑?

标签: asp.net asp.net-mvc-2


【解决方案1】:

我知道这在很多应用程序中都会发生,但真的,请原谅我一次粗体大写:你不能存储用户密码!!

相反,您应该存储单向哈希值,例如 MD5 或 SHA1 或其他任何东西,并将其输入的哈希值与数据库中的值进行比较。这样,如果您的数据被黑客入​​侵,您的用户仍然是安全的。

许多用户对所有内容都使用相同的密码,因此,如果您拥有他们的电子邮件和密码,那么您(雇主或黑客)就可以访问他们的邮件,而且天知道还有什么...保存密码的好程序员。

所以答案是:重置他们的密码,将其邮寄给他们,并让他们在首次登录时更改密码。

【讨论】:

  • 其他人不能发送虚假的密码重置请求吗?所以欺诈请求会重置密码?(只要电子邮件帐户是安全的,这不是安全问题,但很烦人)。如果我们提出重置密码的安全问题,那又是一个问题——如果用户也忘记了那个答案怎么办?我相信密码重置链接可能有点复杂但更好的选择。
猜你喜欢
  • 1970-01-01
  • 2014-10-25
  • 1970-01-01
  • 2017-11-12
  • 1970-01-01
  • 2019-12-30
  • 2016-08-31
  • 2019-10-11
  • 2018-08-17
相关资源
最近更新 更多