我正在为我的CMS页面创建一个锁定系统。这个想法是在24小时内发生5次错误尝试后超时48小时。但是,如果用户在24小时内输入了正确的密码,那么应该删除超时帐户。在成功尝试和尝试失败后,我遇到了超时和解锁用户帐户的问题。为很多登录尝试失败后计时用户
这个想法是失败的尝试和超时发生后,如果他们正确输入密码,它取消超时。如果他们在24小时内(超时后)再次输入错误密码,则先前的错误尝试将被忽略,并且仅显示上次成功尝试后的最新失败尝试。
我已经创建了一个表来存储UNSUCCESSFUL尝试。我需要帮助,让代码检查最近5次连续失败的尝试次数。然后,如果用户输入正确的密码(24小时内)>删除超时。
$qry = " SELECT
CASE WHEN count(*) >= 5 THEN 0 ELSE 1 END as allowed_login
FROM
cms_user_login_attempts
WHERE
cula_date_time >= DATE_SUB(CURRENT_TIMESTAMP, interval 48 hour)
AND
cula_user_id = " . $db->SQLString($row->user_id) . "";
我不确定我是否理解。如果用户输入错误密码的次数太多,你想锁定用户,但如果他们输入正确的密码,你会让他们回来?这种方式不是首先打破这种锁定的目的吗? –
这是正确的,是的。它的规格我必须经过。我想改变它,但不能。 –
我会认为像这样的安全问题将是一个很好的理由来纠正规范。 –