Password recovery 密码重置散列应在多长时间内有效?

Password recovery 密码重置散列应在多长时间内有效?,password-recovery,Password Recovery,以下是场景: 一个黑客劫持了我网站上一个用户的帐户。黑客更改了密码。我的网站会向用户的联系人电子邮件地址发送一封电子邮件,其中包含一个url链接,该url带有用于重置密码的哈希值。黑客随后在第二天更改了用户的联系电子邮件地址。然后,我的网站向新旧电子邮件地址发送电子邮件 这里的大多数答案都说恢复散列应该在一小时内有效。但是,如果用户不在家,直到散列过期一周后才收到电子邮件,该怎么办?用户的密码已更改,也无法获取新的恢复电子邮件。用户现在已丢失该帐户,无法恢复。散列是否应该在一两周内保持有效,或者

以下是场景:

一个黑客劫持了我网站上一个用户的帐户。黑客更改了密码。我的网站会向用户的联系人电子邮件地址发送一封电子邮件,其中包含一个url链接,该url带有用于重置密码的哈希值。黑客随后在第二天更改了用户的联系电子邮件地址。然后,我的网站向新旧电子邮件地址发送电子邮件

这里的大多数答案都说恢复散列应该在一小时内有效。但是,如果用户不在家,直到散列过期一周后才收到电子邮件,该怎么办?用户的密码已更改,也无法获取新的恢复电子邮件。用户现在已丢失该帐户,无法恢复。散列是否应该在一两周内保持有效,或者直到它被使用

如果知道这种机制在大多数网站上是如何工作的黑客声称忘记了密码并请求新密码,会发生什么。站点是否应该生成一个新的散列,替换旧的散列,从而使真实用户的重置散列无效?或者站点不应该更改散列,并再次发送相同的散列?但是现在,真正的用户和黑客都有一个哈希来重置密码

我很困惑。。。也许这个问题没有完美的解决方案

还有其他技术吗?一、 就个人而言,我不喜欢“秘密问题”,因为它们往往提供了一个后门,可以侵入某人的帐户。当网站要求我提供这些信息时,我会输入gibberish作为答案


顺便说一句,我知道也有类似的问题,我更愿意在对现有问题的评论中要求澄清,而不是提出新问题,但是我没有足够高的声誉来为别人的问题添加评论。

我会设置哈希,直到激活并完成caphata,因为黑客可以使用机器人进入网站


编辑:黑客不会知道重置验证的秘密密码

我已经实现了一些类似于验证码的东西(既可以注册,也可以重置密码),但没有那么烦人。我不想在我的问题中谈论CAPTCHA来掩盖这个问题。谢谢,但这不是目前的问题。现在,我更关心的是事件的顺序,以防止人类攻击者将真实用户锁定在其帐户之外,同时不让真实用户失去恢复其帐户的能力。