在最近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