Nginx:阻止引荐来源垃圾邮件

在本文中,我们将向您展示如何在我们的Nginx Web服务器之一中阻止引荐来源垃圾邮件。

1.找到模式

检查Nginx access.log文件,并确定“引荐来源垃圾邮件”模式。

$ sudo tail -f /var/log/nginx/access.log

一些模式:

200 http://???.ru/engine/redirect.php?url=http://mywebsite.com/site/blogspot.com.au
200 http://???.com/tp/out.php?link=alternatevideo&url=http%3A//mywebsite.com/site/readyliftproshop.com
200 http://???.edu/online/redirect.asp?url=http://mywebsite/site/wheretoshophongkong.com

我们将阻止以下模式:

  1. redirect.php
  2. out.php
  3. redirect.asp

2.阻止并返回405

编辑sites-enabled/default ,如果以上任何模式都匹配,则直接返回405。

if ($http_referer ~* (redirect.php|redirect.asp|out.php) ) {
     return 405;
}

在我们的Nginx Web服务器中查看完整的示例,实际上,我们阻止了许多垃圾邮件的模式。

/etc/nginx/sites-enabled/default
server {
  listen          80;
  server_name     mysite.com;
  root            /etc/tomcat7/webapps/mysite;

  proxy_cache one;

  if ($http_referer ~* (seo|referrer|redirect|link=|url=|url?|path=|dku=|babes|click|girl|jewelry|love|organic|poker|porn|sex|teen|video|webcam) ) {
      return 405;
  }

  location / {
        proxy_set_header X-Forwarded-Host $host;
        proxy_set_header X-Forwarded-Server $host;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_pass http://127.0.0.1:8080/;
  }
}

完成后,重新启动Nginx。

再次检查日志文件,现在,将返回与声明的模式405相匹配的任何将来的请求。

$ sudo tail -f /var/log/nginx/access.log
405 http://???.ru/engine/redirect.php?url=http://mywebsite.com/site/blogspot.com.au
405 http://???.com/tp/out.php?link=alternatevideo&url=http%3A//mywebsite.com/site/readyliftproshop.com
405 http://???.edu/online/redirect.asp?url=http://mywebsite/site/wheretoshophongkong.com

参考文献

  1. Nginx.org:引荐来源垃圾邮件阻止
  2. 阻止引荐垃圾邮件
  3. HTTP状态代码列表

翻译自: https://mkyong.com/nginx/nginx-block-referrer-spam/

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值