如何阻止.htaccess文件中多个引荐来源和子域名的引荐流量?

时间:2015-04-14 15:33:04

标签: apache .htaccess spam referrer

我每个月都会看到来自俄罗斯和中国的数千个推荐来自以下域名,我尝试将下面的代码添加到我的.htaccess文件中,然后从我拥有的其他域名进行测试,但我不知道似乎得到了我期待得到的403 Forbidden消息。我错过了什么?

RewriteCond %{HTTP_REFERER} ^(www\.)?([a-z0-9-]+)\.social-buttons\.com$ [NC]
RewriteCond %{HTTP_REFERER} social-buttons\.com [NC]
RewriteCond %{HTTP_REFERER} googlsucks\.com [NC]
RewriteCond %{HTTP_REFERER} 4webmasters\.org [NC]
RewriteCond %{HTTP_REFERER} aliexpress\.com [NC]
RewriteCond %{HTTP_REFERER} best-seo-solution\.com [NC]
RewriteCond %{HTTP_REFERER} best-seo-offer\.com [NC]
RewriteCond %{HTTP_REFERER} buttons-for-website\.com [NC]
RewriteCond %{HTTP_REFERER} www\.myothertestdomain\.com [NC]
RewriteRule .* - [F]

3 个答案:

答案 0 :(得分:6)

您当前的代码表示:

If referer is "sociel-buttons.com"
AND
If referer is "googlsucks.com"
AND
etc...

这不是你想要的(总是错误:这就是它永远不会发生的原因)。
相反,你必须使用OR标志(在你的情况下你想要OR布尔条件)

RewriteCond %{HTTP_REFERER} ^(www\.)?([a-z0-9-]+)\.social-buttons\.com$ [NC,OR]
RewriteCond %{HTTP_REFERER} social-buttons\.com [NC,OR]
RewriteCond %{HTTP_REFERER} googlsucks\.com [NC,OR]
RewriteCond %{HTTP_REFERER} 4webmasters\.org [NC,OR]
RewriteCond %{HTTP_REFERER} aliexpress\.com [NC,OR]
RewriteCond %{HTTP_REFERER} best-seo-solution\.com [NC,OR]
RewriteCond %{HTTP_REFERER} best-seo-offer\.com [NC,OR]
RewriteCond %{HTTP_REFERER} buttons-for-website\.com [NC,OR]
RewriteCond %{HTTP_REFERER} www\.myothertestdomain\.com [NC]
RewriteRule ^ - [F]

答案 1 :(得分:4)

问题不仅在于代码,除了丢失的OR之外,问题在于无法使用.htaccess文件阻止此垃圾邮件,或者至少大部分来自.htaccess文件。

在您的示例中,唯一将被阻止的是最好的seo和按钮换网站,这两个用爬虫(机器人)访问您的网站,通常称为{{1 }}

人们感到困惑,并认为Crawler Referrer Spam规则有效,因为有一段时间他们不再看到垃圾邮件,但事实是,大多数推荐垃圾邮件都会出现几天然后消失。

您添加的其余行不会产生任何影响。这些使用Google分析漏洞仅在您的Google Analytics 中显示。 .htaccess文件"阻止访问"到您的网站,但他们从不访问/访问您的网站。这些通常称为.htaccess

现在唯一的方法是在Google Analytics中制作过滤器,您可以为每个过滤器制作过滤器,也可以在GA中为有效主机名制作过滤器,这样您就不会这样做不得不担心新的Ghost Referrer垃圾邮件。

您可以查看此答案以获取更多详细信息 https://stackoverflow.com/a/28354319/3197362

答案 2 :(得分:2)

对于除最后一个条件之外的每个条件,您应该使用OR标志:

RewriteCond %{HTTP_REFERER} ^(www\.)?([a-z0-9-]+)\.social-buttons\.com$ [NC,OR]
RewriteCond %{HTTP_REFERER} social-buttons\.com [NC,OR]
RewriteCond %{HTTP_REFERER} googlsucks\.com [NC,OR]
RewriteCond %{HTTP_REFERER} 4webmasters\.org [NC,OR]
RewriteCond %{HTTP_REFERER} aliexpress\.com [NC,OR]
RewriteCond %{HTTP_REFERER} best-seo-solution\.com [NC,OR]
RewriteCond %{HTTP_REFERER} best-seo-offer\.com [NC,OR]
RewriteCond %{HTTP_REFERER} buttons-for-website\.com [NC,OR]
RewriteCond %{HTTP_REFERER} www\.myothertestdomain\.com [NC]
RewriteRule .* - [F]