Maison > Questions et réponses > le corps du texte
Grâce à l'analyse des sources de trafic, nous avons découvert des problèmes liés au fait que des personnes accèdent à ce site via certains noms de domaine et cliquent de manière malveillante sur les publicités. Comment bloquer ces noms de domaine via les règles nginx ?
if ( $host = "www.xxx.net" or $host = "ads.xxx.com" ) {
rewrite ^/(.*)$ http://www.sdfdsfgffghgf3sdfsdsdfsdf.com/ permanent;
}
Les règles ci-dessus ne sont pas valides, veuillez aider un expert à rédiger une règle.
我想大声告诉你2017-05-16 17:27:31
J'ai essayé les méthodes ci-dessus mais j'ai échoué.
Excusez-moi, dans quel paragraphe faut-il placer les règles ci-dessus ?
J'ai trouvé cette règle sur certains sites internet :
<IfModule mod_rewrite.c>
RéécritureEngineOn
RewriteCond %{HTTP_REFERER} ads.acesse.com [NC]
RéécrireRule ^(.*)$ -[F]
Est-ce correct s'il est converti en règles nginx :
if ($http_referer ~* "ads.acesse.com"){
set $rule_0 1$rule_0;
}
si ($rule_0 = "1"){
réécrire ^/(.*)$ /-[F];
}
Veuillez demander à des experts de vous aider à juger.
Effet requis : interdire d'accéder au site cible via un certain nom de domaine, par exemple passer de xxx.com à aaa.com pour augmenter le trafic de manière malveillante et cliquer sur les publicités :
Environnement : nginx
Règles :
if ($http_referer ~* ads\.xxx\.com){
set $rule_0 1$rule_0;
}
if ($rule_0 = "1"){
rewrite ^/(.*)$ /-[F];
}
Il suffit de mettre les règles ci-dessus dans la section serveur. Après deux jours de tests, aucune redirection n'a été trouvée via un certain nom de domaine.
世界只因有你2017-05-16 17:27:31
Le vôtre est juste un saut de nom de serveur,
D'après ce que vous avez dit, il devrait être jugé par la source,
Vous devez donc juger la référence
valid_referers none blocked www.mydomain.com *.mydomain.com;
if ($invalid_referer) {
return 403;
}
Ce qui précède est un système de liste blanche, les règles de liste noire peuvent également être utilisées
location / {
if ($http_referer ~* ^xxxxx$) {
rewrite 493;
}
}
習慣沉默2017-05-16 17:27:31
Ajoutez le code suivant au serveur :
listen 80 default;
server_name _;
return 500;