密码通过邮件重置

时间:2016-03-23 05:44:03

标签: eclipse email dynamic passwords reset

我正在使用Eclipse EE进行Web应用程序。我有一个模块,它应该重置用户密码,并向用户(通过电子邮件)发送一个链接到一个页面,他们可以重置密码。有什么见解吗?

1 个答案:

答案 0 :(得分:1)

主要步骤是:

  1. 提供忘记密码"用户可以输入其电子邮件地址的页面
  2. 查找输入的地址,但不要告诉用户任何详细信息。请勿输出类似"未找到电子邮件地址的消息"因为它允许恶意用户查找有效的电子邮件地址。最好给他们一条消息,例如,如果输入的电子邮件地址已注册,您将收到重置密码的链接。
  3. 创建一个强大的唯一随机标识符,以将其与该重置请求相关联。例如。使用由框架提供的加密RNG并将其与例如像一个GUID。
  4. 将该唯一标识符与该重置请求一起存储在例如数据库中的表,并为该记录添加时间戳。这一点非常重要,因为您希望用户只能在固定的时间范围内重置密码。
  5. 在您的应用程序的链接中发送一封电子邮件,其中包含作为查询参数的唯一标识符。例如。 https://yourapp.com/pwreset/?requestID=7392af1747ce3781
  6. 在pwreset-controller中输入requestID参数并在数据库中查找。如果请求在基于初始请求时间戳的合理时间范围内进入,则让用户重置其密码。
  7. 从数据库中删除成功的请求记录,以便发送的pw重置链接只能使用一次。并定期删除过期的记录。
  8. 以此为出发点。由于我不是加密专家,你可以看看这种方法;)