如何在数据库记录中“更改”更改密码唯一代码?

时间:2010-04-16 15:45:15

标签: database forgot-password

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

  1. 用户输入其帐户电子邮件地址并按“忘记密码”按钮
  2. 应用程序会生成一个唯一的字符和数字代码,并将该链接作为参数发送到用户的电子邮件地址
  3. 用户点击该链接,系统会显示一个可以输入新密码的表单
  4. 我想要做的是确保用户按下忘记密码按钮后一小时内链接(即唯一代码)“过期”,这样,如果攻击者获得对其电子邮件帐户的访问权限,则此链接将无效他们在第一个小时就获得了访问权。

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

2 个答案:

答案 0 :(得分:3)

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

答案 1 :(得分:0)

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