如果与最近3个密码不同,请更改密码

时间:2015-04-22 02:35:10

标签: mysql

我正在尝试确保用户无法将密码更改为之前的3个密码之一。我有一张存放密码的表。

当他们尝试更改时,我选择了他们的最后3个密码

SELECT old
FROM password
LIMIT 3

如何将newPW与最后3个进行比较以防止用户将密码更改为其中之一?

1 个答案:

答案 0 :(得分:0)

这对你有用。

SELECT count(*) FROM ( SELECT old FROM password WHERE username = '<username>' ORDER BY id desc LIMIT 3 ) WHERE password = '<newPassword>';

如果它返回0以外的任何值,则密码已在最近三次尝试中使用。

您可能需要将ORDER BY替换为您使用的列。同样,您需要将查询更改为您拥有的结构。