我有一個保留變量的問題。我想當你提交表單時,變量將被重置爲默認值。所以我不知道如何限制3次登錄嘗試,直到它說「Go Away!Hacker!」。只使用PHP,沒有別的。 任何人都有線索?不要擔心安全問題,因爲這只是我的教授給予我們的練習的一個例子,我們只需要使用php就可以完成。所以不要擔心黑客重置cookie。PHP登錄計數器
注意:我只使用XAMPP來使php在localhost中工作。
下面的代碼在PHP中:
<center><form action="" method="post"><br>
User ID: <input type="text" name="id"><br>
Password: <input type="password" name="pass"><br>
<input type="submit" name="submit" value="login">
</form>
<?php
if(isset($_POST['submit'])){
$counter = 0;
$counter++;
$vid = 'hanzo';
$vpass = '123456';
$id = $_POST['id'];
$pass = $_POST['pass'];
$c = "<center>";
if(empty($id)) echo "$c Please Input Username.<br>";
else if(empty($pass)) echo "$c Please Input Password.<br>";
else if($vid==$id && $vpass==$pass) echo "$c Login Succesfully<br>";
else if($counter>3) echo "$c Go Away! Hacker!<br>";
else echo "$c Invalid Username/Password<br> Login Attempt: $counter";
}
?>
你在使用Sessions嗎? – Elen 2012-07-17 14:25:25
我建議在數據庫中記錄失敗的嘗試,並且當它們達到3時,在最後5分鐘內,即使正確但沒有給出失敗原因的登錄失敗。這應該有助於防止蠻力攻擊 – Waygood 2012-07-17 14:27:53
您需要將計數器存儲在永久存儲器中,例如數據庫。然後在發生成功登錄或足夠的時間後重置爲零。 – 2012-07-17 14:28:07