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


Block a user from login after several login attempts

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

任何人都可以拥有脚本或向我推荐任何教程。谢谢

如果登录失败 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 尝试失败后阻止访问登录功能。

有关完整详细信息,您可以参考:http://webcheatsheet.com/php/blocking_system_access.php

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

阅读此线程: 如何在 PHP 中限制用户登录尝试