我正在尝试确保用户无法将密码更改为之前的3个密码之一。我有一张存放密码的表。
当他们尝试更改时,我选择了他们的最后3个密码
SELECT old
FROM password
LIMIT 3
如何将newPW
与最后3个进行比较以防止用户将密码更改为其中之一?
答案 0 :(得分:0)
这对你有用。
SELECT count(*)
FROM (
SELECT old
FROM password
WHERE username = '<username>'
ORDER BY id desc
LIMIT 3
) WHERE password = '<newPassword>';
如果它返回0以外的任何值,则密码已在最近三次尝试中使用。
您可能需要将ORDER BY替换为您使用的列。同样,您需要将查询更改为您拥有的结构。