私はログインフォームに取り組んでいます。私は試行回数を3回に制限し、10分間フォーム送信をブロックする必要があります。次のコードは正しく動作していないため、失敗した試行後に送信をブロックする方法を知る必要があります。ありがとう。Security-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>");
}
}
}
保存された値を持つクッキーを作成し、10分後に期限切れになるように設定する方法について説明します。 –
それは良い質問です!しかし、まず 'logins = 0'と' logins ++ 'と言うと、' logins = 1'と言うこともできます。これは0に設定してからインクリメントするからです。したがって、常に1になります:) – Milaan
ログイン試行は、データベースなどのどこかに保存する必要があります。また、新しい試みごとに、限界に達するまで+1してから時間を節約し、ユーザーに待たせます。 – ComFreek