1

我们正在设置一项功能,使用户能够在无法访问其帐户时重置密码。我们要求他们提供电子邮件地址(他们用于登录网站),向他们发送一封带有唯一链接的电子邮件。

问题是:

  1. 链接应该在第一次点击时过期,还是应该在第一次使用时过期(即他们成功重置密码)?
  2. 链接是否应该具有 24 小时有效期(或类似的东西)?
  3. 用户单击该链接后是否应该登录?
4

2 回答 2

2
  1. 更改密码后链接应过期。如果您在第一次单击时使链接过期,这可能会导致问题。假设我的互联网连接不好,并且页面没有完全加载到我的浏览器中。我重新加载页面,它说链接已过期。我不会很高兴用户看到这一点。

  2. 是的,您应该将链接限制在某个合理的时间。24小时看起来很合理。如果你不限制链接的生命周期,首先你必须永远存储生成的id,其次你保持这个链接活动的时间越长,链接被攻击者窃取的可能性就越大,从而导致账户被盗。

  3. 只有在用户更改他/她的密码后,您才应该让用户进入。如果您只是让他们登录,他们可能会决定不再需要更改密码。这样他们就可以永远登录系统,而无需更改/知道他们的密码。

于 2011-06-04T01:59:27.423 回答
1
  1. 在他们成功重置密码后,该链接应该会过期。如果用户以某种方式最终需要密码重置指导并希望稍后返回,他们应该能够做到。
  2. 话虽如此,重置最终应该在 48 小时后到期?
  3. 是的,他们应该在密码重置后登录,否则在您的用户执行他们在您的网站上所做的事情的方式中还有另一个令人沮丧的步骤。
于 2011-06-04T02:00:37.143 回答