Php 限制登录时删除已保存的不存在用户的失败尝试

Php 限制登录时删除已保存的不存在用户的失败尝试,php,mysql,security,throttling,Php,Mysql,Security,Throttling,限制登录 是否有必要将不存在的用户的失败尝试插入数据库? 如果没有采取任何行动,当对数据库中的现有用户名进行限制时,有人猜不到它们,而不是不存在的用户名,这不是一种安全风险吗 如果有必要,我应该如何处理在风险较低时删除它们 //If the username does not exist do the below: <?php $stmt= $conn->prepare('SELECT * from failed_logins WHERE name="'.$_SESSIO

限制登录

是否有必要将不存在的用户的失败尝试插入数据库? 如果没有采取任何行动,当对数据库中的现有用户名进行限制时,有人猜不到它们,而不是不存在的用户名,这不是一种安全风险吗

如果有必要,我应该如何处理在风险较低时删除它们

//If the username does not exist do the below:

<?php 
    $stmt= $conn->prepare('SELECT * from failed_logins WHERE name="'.$_SESSION["Name"].'"');
    $stmt->bindParam(1, $name);
    $stmt->execute();
    $stmt->setFetchMode(PDO::FETCH_ASSOC);
    while($row = $stmt->fetch()) {  
        $attempted = $row['attempted'];
    }
    $atime = strtotime($attempted);
    $current = time();
    if(($current-$atime) > 1500) { 
        $del= $conn->query("DELETE FROM failed_logins WHERE name = '".$_SESSION['Name']."'");
        $del->execute();
    }
?>
//如果用户名不存在,请执行以下操作:

从安全角度来看,您应该绝对限制每个用户登录失败的次数。如果你不这样做,你是严重暴露你的网站。例如,在3次登录尝试失败后,根据用户的IP地址将其锁定24小时


我不会删除任何与登录尝试失败相关的数据,例如,您可以每6个月定期执行一次法医调查。

从安全角度来看,您应该绝对限制每个用户登录尝试失败的次数。如果你不这样做,你是严重暴露你的网站。例如,在3次登录尝试失败后,根据用户的IP地址将其锁定24小时


我不会删除任何与登录失败相关的数据,例如,为了进行法医调查,您可能会每6个月定期执行一次。

谢谢您的回答,但将所有登录失败的数据保存在数据库中不是问题,我不是专家,但保存在数据库中的太多登录失败尝试会消耗我的系统,数据库和其他东西,不是吗?不,保存这样的数据不会对您造成任何伤害,只要您在输出时清理所有数据。保存这些失败的尝试,以便了解攻击者的行为,这将是一件有趣的事情。但是你仍然可以选择在你认为它不再对你有用的时候删除它。谢谢你的回答,但是将所有失败的登录数据保存在数据库中不是一个问题,我不是专家,但是保存在数据库中的太多失败尝试会使我的系统、数据库和其他东西都要付出代价,不是吗,保存这些数据不会对您造成任何伤害,只要您在输出时对所有数据进行清理。保存这些失败的尝试,以便了解攻击者的行为,这将是一件有趣的事情。但是,当您判断它不再对您有用时,您仍然可以选择删除它。