我正在登錄表單,我必須限制嘗試3,然後阻止任何形式提交10分鐘。以下代碼無法正常工作,我需要知道如何在嘗試失敗後阻止提交。謝謝。安全PHP登錄嘗試功能
function autoDefender($attempts,$username,$pass)
{
$logins=0;
$logins++;
$ats = $attempts-$logins;
if (isset($_POST['password']) && isset($_POST['userName']))
{
if($_POST['password']!=$pass && $_POST['userName']!=$username)
{
if($logins == $attempts)
{
echo ("<div class='errmg'>Acess denied for 1 minute</div>");
}
echo ("<div class='errmg'>Error:
invalid username or pass; <span class='atmpts'>$ats</span> attempts left</div>");
}
}
}
如何使用存儲的值創建cookie,並設置爲在10分鐘後過期。 –
這是一個很好的問題!但是你首先說'logins = 0',然後'logins ++',你也可以說:'logins = 1'。因爲你將它設置爲0,然後增加它。所以它將永遠是1 :) – Milaan
您必須將登錄嘗試保存在某個地方,例如在數據庫中。對於每次新嘗試,您都會+1,直到達到限制,然後節省時間並讓用戶等待。 – ComFreek