0

我想在我的 java web 应用程序中实现忘记密码功能。我想像这样实现它:

  1. 用户输入他们的帐户电子邮件地址并按下“忘记密码”按钮
  2. 应用程序生成唯一的字符和数字代码,并将链接作为参数发送到用户的电子邮件地址
  3. 用户单击该链接,他们会看到一个表单,他们可以在其中输入新密码

我想要做的是确保链接(即唯一代码)在用户按下忘记密码按钮后一小时“过期”,这样如果攻击者获得对其电子邮件帐户的访问权限,除非他们获得访问权限,否则此链接将不起作用在第一个小时。

我不知道如何使数据库“过期”或清除用户帐户记录的代码。我怎么能实现这个?

4

2 回答 2

3

在包含代码的表中添加一ValidUntil列,并在让用户更改密码之前对其进行检查。

于 2010-04-16T15:47:17.280 回答
0

您将生成唯一代码的日期存储在数据库中。当用户点击链接时,如果自生成唯一代码以来超过了允许的时间,则不要让他们更改密码。

于 2010-04-16T15:46:58.280 回答