【问题标题】:How do you calculate the times an ip is accesing a website to blacklist it?您如何计算 ip 访问网站以将其列入黑名单的时间?
【发布时间】:2017-03-17 02:43:51
【问题描述】:

我有一个客户的网站受到暴力攻击。我使用以下方法检测到对该站点的许多欺诈性 ip 访问:

echo $_SERVER['HTTP_REFERER'] . " - " . getIp() . date("Y-m-d H:i:s");

我可以看到 ips 访问该网站很多次,例如每秒 10 次。

我需要阻止所有具有该行为的 ip,您建议怎么做?

(是一个简单的 Wordpress 博客)

【问题讨论】:

    标签: php wordpress ip brute-force ip-blocking


    【解决方案1】:

    “蛮力”攻击是指有人试图提交用户名/密码以希望获得对您网站限制区域的访问权限。要处理此问题,您可以设置规则,以确定 IP 在被阻止之前可以尝试提交错误登录凭据的次数。您可以在数据库中记录详细信息并使用它。对于 WP,您可以使用插件来限制登录尝试。 https://www.wpoptimus.com/912/ban-ip-addresses-login-wordpress-dashboard/

    另一方面,“DoS”攻击是用请求淹没您的服务器。这种攻击无法通过代码处理,需要在服务提供者层面进行。

    您还可以在 cpanel 中选择将 ips 列入黑名单。

    【讨论】:

    【解决方案2】:

    这条规则可能有效: 每秒超过 10 个(考虑你自己)请求是欺诈 IP 的信号,这可能是可控的。

    MySQL:

    DROP TABLE IF EXISTS `tbl_request`;
    CREATE TABLE `tbl_request` (
      `codigo_request` bigint(11) NOT NULL AUTO_INCREMENT,
      `ipnumber` varchar(255) COLLATE utf8_unicode_ci DEFAULT NULL,
      `date` datetime DEFAULT NULL,
      `is_hacking` varchar(40) COLLATE utf8_unicode_ci DEFAULT NULL,
      `milliseconds` varchar(40) COLLATE utf8_unicode_ci DEFAULT NULL,
      `blacklisted` int(11) NOT NULL DEFAULT '0',
      PRIMARY KEY (`codigo_request`)
    ) ENGINE=InnoDB AUTO_INCREMENT=541192 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci;
    

    欺诈性 Ips:

    select *, SUM(count) AS totalCount from (
    
    select *, count( ipnumber ) as count from tbl_request group by ipnumber, date HAVING count >= 10 order by count DESC 
    
    ) AS T GROUP by T.ipnumber order by totalCount DESC
    

    PHP:

    $request = new Request();
    $request->setIpnumber( get_client_ip() );
    $request->setDate(getDateForDatabase());
    $request->insert();
    
    $fips = $request->getFraudulentIps();
    foreach ($fips as $k => $v) {
        $v->blacklist();
    }
    

    【讨论】:

      猜你喜欢
      • 2014-11-12
      • 1970-01-01
      • 2022-11-21
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-08-08
      相关资源
      最近更新 更多