Java 忘记密码链接:如何验证链接?
可能重复:Java 忘记密码链接:如何验证链接?,java,web-applications,spring-security,Java,Web Applications,Spring Security,可能重复: 我正在为一个web应用程序实现忘记密码。用户将收到一封带有网页链接的邮件,以输入新密码。我想限制链接的有效性,以最大24小时,因为它被创建。我应该如何实现这一点?我应该如何生成此参数,以便不重用同一链接,或者不能修改链接并重用它 不确定这是否有用,但我使用的是Spring 3.1框架。对于此类功能,您需要创建一个基于时间戳的随机令牌,并使用忘记密码链接发送它。您需要遵循以下提到的步骤 当用户点击忘记密码时创建一个随机令牌,并将其保存在数据库中,并注明到期时间 通过电子邮件将带有嵌入
我正在为一个web应用程序实现忘记密码。用户将收到一封带有网页链接的邮件,以输入新密码。我想限制链接的有效性,以最大24小时,因为它被创建。我应该如何实现这一点?我应该如何生成此参数,以便不重用同一链接,或者不能修改链接并重用它
不确定这是否有用,但我使用的是Spring 3.1框架。对于此类功能,您需要创建一个基于时间戳的随机令牌,并使用忘记密码链接发送它。您需要遵循以下提到的步骤
为了确保更多安全,您可以创建更多步骤,以确保链接来自有效用户且未被黑客攻击。常用方法是在url中包含生成的id。该id将与创建日期或到期日期一起保存在db中。这样,您就可以创建一个后台任务来清除过期的ID。我要做的是:
- 重置用户密码(随机值),过期日期为现在+24小时
- 向用户发送带有“更改密码”页面链接的新密码
- Spring security将处理过期问题
- 如果我“偷”到“更改密码”页面的链接,那就一文不值:用户需要输入当前密码和新密码(两次)