Php 多次尝试登录后阻止用户登录

Php 多次尝试登录后阻止用户登录,php,mysql,Php,Mysql,我正在用PHP开发一个应用程序。它有一个登录区。我想知道,如果用户输入了4次错误的密码,我如何阻止用户登录帐户(比如说)15分钟。如何使用PHP MySql阻止从特定IP登录 任何人都可以有脚本或参考我的任何教程。谢谢只要将每次尝试都记录到mysql表中,并使用字段IP和datetime。然后,您将能够选择最后一次尝试的时间,并在每次尝试登录后对其进行计数 阅读此线程:如果登录失败x次,您可以将$loginFail设置为1 然后将此信息输入新数据库 编辑:使用pdo if($loginF

我正在用PHP开发一个应用程序。它有一个登录区。我想知道,如果用户输入了4次错误的密码,我如何阻止用户登录帐户(比如说)15分钟。如何使用PHP MySql阻止从特定IP登录


任何人都可以有脚本或参考我的任何教程。谢谢

只要将每次尝试都记录到mysql表中,并使用字段IP和datetime。然后,您将能够选择最后一次尝试的时间,并在每次尝试登录后对其进行计数


阅读此线程:

如果登录失败x次,您可以将$loginFail设置为1

然后将此信息输入新数据库

编辑:使用pdo

    if($loginFail == 1){

    $ip = $_SERVER['REMOTE_ADDR']; 

    $date = new DateTime();
    $fdate = $date->format('Y-m-d H:i:s');

    $sql = "INSERT INTO loginTracker (ipaddress,time) VALUES (:ipaddress,:time)";
    $q = $pdo->prepare($sql);
    $q->execute(array(':time'=>$fdate,
                      ':ipaddress'=>$ip));

    }else{
        $loginFail = 0;
    }

然后,当用户尝试登录时,您会将上述数据库的时间戳和ip地址与用户ip地址和当前时间戳进行比较

您可以使用访问者ip地址在数据库中存储日志尝试,并在Y次尝试失败后在X分钟内阻止对登录功能的访问


有关详细信息,请参阅:

您希望使用
$\u服务器['REMOTE\u ADDR']获取用户的ip地址,然后您希望将其和当前时间戳放入数据库中。然后,当有人登录时,您会检查用户的ip地址是否在数据库中,并说类似于
WHERE$timeNow<“$timeThen”
的话,不再支持
mysql\uquot.*
函数,它们不再被维护,将来也会被维护。您应该使用或更新您的代码,以确保将来项目的功能。我很好,我99%的时间都使用pdo。我在这个例子中使用了mysql,因为我注意到大多数php新手都使用mysql:-)最好不要发布过时的代码,但我看到的u修复了。