Wie kann verhindert werden, dass mehrere Domainnamen in einer Nginx-Umgebung auf meine Website zugreifen?
phpcn_u1582
phpcn_u1582 2017-05-16 17:25:31
0
3
480

Durch die Analyse der Verkehrsquellen haben wir einige Probleme festgestellt, bei denen Personen diese Website über bestimmte Domänennamen betreten und böswillig auf Anzeigen klicken. Wie können diese Domänennamen mithilfe der Nginx-Regeln blockiert werden?

if ( $host = "www.xxx.net" or $host = "ads.xxx.com" ) {
    rewrite ^/(.*)$ http://www.sdfdsfgffghgf3sdfsdsdfsdf.com/ permanent;
}

Die oben genannten Regeln sind ungültig. Bitte helfen Sie einem Experten, eine Regel zu schreiben.

phpcn_u1582
phpcn_u1582

Antworte allen(3)
我想大声告诉你

尝试了以上的方法,都没有成功。
请问,以上的规则是放在那个段里呢?

在一些网站上找到了,这样的一个规则:

<IfModule mod_rewrite.c>

RewriteEngine On

Block domain

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;
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage