透過流量來源分析,發現一些透過某些網域進入本站並惡意點擊廣告的問題,如何透過nginx規則來封鎖這些網域呢?
if ( $host = "www.xxx.net" or $host = "ads.xxx.com" ) { rewrite ^/(.*)$ http://www.sdfdsfgffghgf3sdfsdsdfsdf.com/ permanent; }
以上規則無效,請高手幫忙寫一個規則。
嘗試了以上的方法,都沒有成功。 請問,以上的規則是放在那個段落呢?
在一些網站上找到了,這樣的一個規則:
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteCond %{HTTP_REFERER} ads.acesse.com [NC] RewriteRule ^(.*)$ -[F]
如果是轉換成nginx規則的話是否正確:
if ($http_referer ~* "ads.acesse.com"){ set $rule_0 1$rule_0;
} if ($rule_0 = "1"){ rewrite ^/(.*)$ /-[F]; }
請高手幫忙判斷看看。
需要的效果:封禁透過某網域跳到目標站,例如從xxx.com跳到aaa.com進行惡意刷流量和點擊廣告:
環境:nginx 規則:
if ($http_referer ~* ads\.xxx\.com){ set $rule_0 1$rule_0; } if ($rule_0 = "1"){ rewrite ^/(.*)$ /-[F]; }
把以上規則放在server段即可,測試兩天暫未發現透過某網域跳轉進來。
你這個只是 server_name跳轉,照你說的,應該是來路判斷,所以要判斷refer
valid_referers none blocked www.mydomain.com *.mydomain.com; if ($invalid_referer) { return 403; }
上面是白名單制度,也可以採用黑名單規則
location / { if ($http_referer ~* ^xxxxx$) { rewrite 493; } }
在server裡加上以下程式碼:
listen 80 default; server_name _; return 500;
嘗試了以上的方法,都沒有成功。![](http://img.php.cn/upload/image/000/000/000/f53502c02f9b7d4fbdade94c165b5570-0.jpg)
請問,以上的規則是放在那個段落呢?
在一些網站上找到了,這樣的一個規則:
RewriteEngine On
Block domain
RewriteCond %{HTTP_REFERER} ads.acesse.com [NC]
RewriteRule ^(.*)$ -[F]
如果是轉換成nginx規則的話是否正確:
}
if ($rule_0 = "1"){
rewrite ^/(.*)$ /-[F];
}
請高手幫忙判斷看看。
需要的效果:封禁透過某網域跳到目標站,例如從xxx.com跳到aaa.com進行惡意刷流量和點擊廣告:
環境:nginx
規則:
把以上規則放在server段即可,測試兩天暫未發現透過某網域跳轉進來。
你這個只是 server_name跳轉,
照你說的,應該是來路判斷,
所以要判斷refer
上面是白名單制度,也可以採用黑名單規則
在server裡加上以下程式碼: