如何生成重置密码链接,只访问一次,到期一段时间

时间:2013-10-21 08:01:12

标签: jsp servlets

我正在将Web应用程序开发到java服务器页面。我需要链接的地方必须在一段时间后过期并且只能访问一次。这将被发送到注册用户邮件ID。我无法弄清楚我如何才能实现这一目标,也无法事先在Google.thanks上找到合适的解决方案。

1 个答案:

答案 0 :(得分:0)

您可以使用随机散列将参数附加到您发送的链接,并将此散列存储在具有过期日期的数据库表中。从而生成仅在一个场合仅为一个用户应用的unqiue链接。

table:
id    timestamp             hash               userid    expiration
 1    21.10.2013 xx:xx:xx   jkl23h4hl2k34h     dummy     22.10.2013 xx:xx:xx

每当需要重置密码时,您需要在查找表中检查此参数,确定过期日期是否有效并提供密码重置邮件。 然后你可以删除该行(密码重置发生,不再需要)或者你可以将过期日期设置为过去的值,保留表作为帐户重置的历史记录(可能添加客户端IP地址或类似)