0

这是我用来阻止 Semalt 和其他人访问我的网站的垃圾邮件引荐来源的方法。

在 Server 指令下,我有以下内容(不完整的推荐人列表):

if ($http_referer ~ "7makemoneyonline\.com|semalt\.com|Get-Free-Traffic-Now\.com) { 
       return 403;
}

这条规则似乎不起作用,我仍然受到他们的欢迎。这与我在其中创建过滤器的 Google Analytics 无关,我知道。但是,情况并非如此,我每天都会在我的日志中看到这些引荐来源网址,他们能够访问我的网站,因此这些垃圾邮件发送者向我的服务器发出了实际请求。他们如何绕过 Nginx 规则?我验证了上面的代码并将我的另一个网站放入列表中,然后我将自己引到第一个网站并被阻止。那么它是如何为我而不是为他们工作的呢?是否有更好的替代 Nginx 规则?

谢谢你。

4

1 回答 1

1

如果没有看到实际的日志文件条目,很难判断模式不匹配发生在哪里。首先,我建议使用不区分大小写的模式匹配~*而不是简单的~. 您应该能够避免在 Nginx 中转义句点/点。并且您可以降低特异性以使您的模式撒下更广泛的网络。匹配“get-free-traffic”将足以匹配“get-free-traffic-now.com”和其他变体“get-free-traffic-now.net”、“get-free-traffic-today.com”、 ETC

if ($http_referer ~* 7makemoneyonline|semalt.com|get-free-traffic) {
  return 403;   
}
于 2015-12-08T17:39:13.073 回答