0

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

4

1 回答 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 回答