【问题标题】:Password reset via mail通过邮件重置密码
【发布时间】:2016-03-23 05:44:02
【问题描述】:

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

【问题讨论】:

    标签: eclipse email dynamic passwords reset


    【解决方案1】:

    主要步骤是:

    1. 提供一个“忘记密码”页面,用户可以在其中输入她的电子邮件地址
    2. 查找输入的地址,但不要告诉用户任何详细信息。不要输出“找不到电子邮件地址”之类的消息,因为它会允许恶意用户查找有效的电子邮件地址。最好给他们一条消息,例如“如果输入的电子邮件地址已注册,您将收到重置密码的链接”。
    3. 创建一个强大的唯一随机标识符以将其与该重置请求相关联。例如。使用框架提供的加密 RNG,并将其与独特的东西结合起来,例如一个 GUID。
    4. 将该唯一标识符与该重置请求一起存储在例如数据库中的表并为该记录添加时间戳。这很重要,因为您希望用户只能在固定时间范围内重置密码。
    5. 发送一封电子邮件,将该唯一标识符作为查询参数放入应用程序的链接中。例如。 https://yourapp.com/pwreset/?requestID=7392af1747ce3781
    6. 在您的 pwreset-controller 中获取 requestID 参数并在您的数据库中查找它。如果请求在基于初始请求时间戳的合理时间范围内到达,则让用户重置她的密码。
    7. 从您的数据库中删除成功的请求记录,以便发送的密码重置链接只能使用一次。并定期删除过期记录。

    以此为起点。由于我不是加密专家,您可能会看看这种方法;)

    【讨论】:

      猜你喜欢
      • 2017-01-25
      • 2021-01-30
      • 2010-11-21
      • 2018-05-24
      • 2012-03-09
      • 1970-01-01
      • 1970-01-01
      • 2018-03-13
      • 1970-01-01
      相关资源
      最近更新 更多