全局阻止特定用户代理



我曾经通过nginx手动管理我所有的web服务器

我现在使用cPanel,并希望阻止特定的用户代理访问我的服务器上的任何网站。

这在nginx中是多么容易。

 if ($http_user_agent ~* "PHP|curl|Wget|HTTrack|Nmap|Verifying|PingBack|Pingdom|Joomla|Wordpress") { return 444; }
 if ($http_user_agent = "") { return 444; }
 if ($http_user_agent = " ") { return 444; }
 if ($http_user_agent = "-") { return 444; }

我如何复制相同的效果为我所有的网站,包括主web服务器的WHM (apache)

似乎是一个简单的请求,但是几乎没有关于它的文档。

如果您使用map在http级别设置$drop_agent变量,它将对所有服务器可用。用户代理匹配也可以放在包含的文件中。

map $http_user_agent $drop_agent {
    default 0;
    ~^libwww-perl$  1;
}

然后在每个server节中:

if ($drop_agent) {
#   return 403; # for testing 
    return 444;
}

最新更新