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

Php 如何在linux服务器中阻止来自多个ip地址的意外请求?,php,linux,wordpress,brute-force,ddos,Php,Linux,Wordpress,Brute Force,Ddos,从最近几天开始,我一次收到来自多个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地址的一些意外请求。我在我的服务器上安装了一个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;
}

希望有帮助

您需要PHP解决方案还是Linux解决方案?