如何阻止来自 linux 服务器中多个 IP 地址的意外请求?

How to block unexpected request from multiple ip address in linux server?

从最近几天开始,我一次收到来自多个 IP 地址的一些意外请求。我在我的服务器上安装了一个 wordpress 网站,他们访问了我的 wp-login.php 页面,在日志文件中我看到了类似...

的内容

Blo [05/Jun/2015:06:19:14 +0200] "POST /wp-login.php HTTP/1.0" 503 2966 "-" "hjelp.tips-info.com" "-"

然后我更改了这个文件的权限。但我仍然在错误日志文件中收到一些消息。他们仍然在该文件 (wp-login.php) 上发送一些 post 请求,但它返回了 404 错误。是不是有什么心事?我不知道。

我的服务器处理那些错误请求的速度变慢了吗?此请求来自多个 ip 地址,因此我无法阻止这些 ip。

对于 php,我有一个快速解决方案。尝试将 IP 范围或特定 IP 屏蔽。

未测试,但我觉得它会起作用。您可能还需要根据您的合适要求进行更改。

public static function isIpInRange($ip,$rangeArray){
    foreach ($rangeArray as $ipOrRange) {
        if(is_array($ipOrRange)){
            //If $ipOrRange is array then it must be range where 0th element is min range and 1st element is max range
            $min = ip2long($ipOrRange[0]);
            $max = ip2long($ipOrRange[1]);
            if ((ip2long($ip) >= $min) && (ip2long($ip) <= $max)){
                return true;
            }
        }elseif($ip==$ipOrRange){
            return true;
        }
    }
    return false;
}

希望对您有所帮助!!