在最近15分钟内4次登录尝试失败后,让用户验证验证码的正确方法是什么?我已经得到了一切正常,但没有时间戳查询的一部分。更具体地讲,可显示的验证码后,4失败的尝试,当用户尝试登录5次左右就可以,不管15分钟或30分钟是否已经过去了......使用时间戳限制不正确的登录尝试次数
$query1 = "SELECT login_attempts from users WHERE email = '$email' AND last_login < NOW() - INTERVAL 15 MINUTE";
$result1 = mysqli_query($dbc, $query1) OR die(mysqli_error());
$row = mysqli_fetch_array($result1);
$fail = (int)$row['login_attempts'];
我会尝试使用一个单独的表的登录尝试,有外键的用户表上的主键字段“user_id说明”我猜。只需要用user_id和timestamp组成一个小表,然后你可以在给定的时间间隔内通过user_id进行COUNT次尝试。 INSERT比UPDATE少征税;再加上您将拥有该用户的失败登录尝试的完整历史记录。 – doublesidedstickytape