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