几次登录尝试后阻止用户登录

时间:2015-03-08 16:51:03

标签: php mysql

我正在用PHP开发一个应用程序。它有一个登录部分。我想知道如果用户输入4次错误密码,我怎么能阻止用户(比方说)15分钟登录帐户。如何使用PHP MySql

阻止从该特定IP登录

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

3 个答案:

答案 0 :(得分:2)

如果登录失败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;
    }

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

答案 1 :(得分:0)

只需将每次尝试记录到具有字段IP和日期时间的mysql表中。然后,您将能够选择上次尝试的时间,并在每次登录尝试后对其进行计数。

阅读此主题:How can I throttle user login attempts in PHP

答案 2 :(得分:0)

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

有关详细信息,请参阅:http://webcheatsheet.com/php/blocking_system_access.php