<form action="form.php" method="post">
Username: <input type="text" name="user" maxlength="50" value="" />
Password: <input type="password" name="pass" maxlength="20" value="" />
<input type="submit" name="Submit" value="Submit" />
</form>
<?php
$Accesstrys = 0;
if($_POST['Submit'] == "Submit") {
$Accesstrys++;
if($Acesstrys == 3)
{
$ip = getenv("REMOTE_ADDR");
$file = fopen("Loginlimit/$ip",'w');
fwrite($file,"$Accesstrys:$ip");
}
}
?>
Run Code Online (Sandbox Code Playgroud)
我试图编写一个PHP登录脚本,如果你失败了,你会尝试登录3,它会冻结10分钟.
远没有完成,但我测试了它并没有用我的IP创建/写一个文件.什么我错了
由于PHP是服务器端,因此$Accesstrys每次请求时您的变量都设置为0.
关键是使用会话.尝试递增$_SESSION["AccessTrys"]而不是$Accesstrys