我曾经通过 nginx 手动管理我的所有网络服务器。
我现在正在使用 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; }
如何为我的所有网站复制相同的效果,包括 WHM(apache)的主要网络服务器。
看起来像一个简单的请求,但几乎没有关于此的文档。
答案 0 :(得分:0)
如果您使用map在http级别设置$ drop_agent变量,那么它将对您的所有服务器都可用。用户代理匹配也可以放入包含的文件。
map $http_user_agent $drop_agent {
default 0;
~^libwww-perl$ 1;
}
然后在每个服务器节中:
if ($drop_agent) {
# return 403; # for testing
return 444;
}