设置数据库'user'表以进行密码恢复

时间:2014-08-07 18:33:36

标签: php mysql sql security password-recovery

我有一个问题。我正在实施密码恢复,然后我想:"如果一个'陌生人'进行未经授权的密码恢复,更改别人的密码?" 所以,我的第一个决定是:我将在'用户'中设置两个字段。表,称为密码'和' temp_password'。如果真实用户要求恢复密码,则新的随机密码将存储在' temp_password'并将发送一封电子邮件。通过这种方式,恶意用户不会更改任何其他密码,并且电子邮件所有者可以拒绝密码更改尝试。是对的吗?预先感谢您的帮助。 问候

1 个答案:

答案 0 :(得分:0)

我建议您通过将临时密码存储在user表的单独表中来规范化。每个用户最有可能在其生命周期内进行多次密码恢复尝试,并且您希望存储每次尝试的后续记录。

如果您将字段保留在user表中,则第一个密码恢复请求后的每个后续请求都将覆盖前一个请求。

确保此新表中有一列指示哪个请求当前处于活动状态,并且具有服务器端/数据库脚本,以确保每个用户ID只能有一行具有活动标记。