我正在将 Web 应用程序开发成 Java 服务器页面。我需要链接的地方必须在一段时间后过期并且只能访问一次。这将被发送到注册用户的邮件ID。我不知道如何实现这一点,也无法在 Google.thanks 上找到合适的解决方案。
user2902142
问问题
781 次
1 回答
0
您可以使用随机散列将参数附加到您发送的链接,将此散列存储在具有到期日期的数据库表中。从而生成仅适用于一个用户一次的唯一链接。
table:
id timestamp hash userid expiration
1 21.10.2013 xx:xx:xx jkl23h4hl2k34h dummy 22.10.2013 xx:xx:xx
每当需要密码重置时,您在查找表中检查此参数,确定到期日期是否有效并提供密码重置邮件。然后您可以删除该行(密码重置发生,不再需要),或者您可以将到期日期设置为过去的值,将表保留为帐户重置的历史记录(可能添加客户端 IP 地址或类似地址)
于 2013-10-21T08:32:43.853 回答