Php 如何在linux服务器中阻止来自多个ip地址的意外请求?
从最近几天开始,我一次收到来自多个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错误。有什么担心的吗?我不知道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地址,因此我无法阻止这些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解决方案?