如何阻止darodar.com等垃圾邮件推荐人访问网站?

时间:2014-12-27 10:22:13

标签: .htaccess google-analytics referrer-spam

我有几个网站每天约有5%来自垃圾邮件推荐人的访问量。我注意到这个推荐人有一个奇怪的事情:他们在谷歌分析中显示,但我在我自定义设计的表格中看不到它们我将所有访问者插入网站,所以我认为他们只操纵GA代码,从未到达网站本身。

如果您关注他们的链接,他们会将您重定向到某些关联企业链接。

我不知道他们是否对我的SEO / SERP有影响,但我想摆脱它们。我可以通过htaccess文件吗?

一个特殊的方面是我从不同的论坛获取访问者的页面。例如:forum.topic221122.darodar.comforum.topic125512.darodar.com等,所以我想阻止完整的darodar.com域名。

darodar.com外,还有econom.coiloveitaly.co困扰我的统计数据。我可以阻止它们htaccess吗?

14 个答案:

答案 0 :(得分:41)

Google Analytics中的大部分垃圾邮件都不会访问您的网站,因此您无法使用任何服务器端解决方案阻止它们。

Ghost Spam 直接点击GA并且通常只会出现几天然后消失,这就是为什么有些人认为他们阻止了他们 .htaccess 文件,但只是巧合。

这种类型的垃圾邮件很容易被发现,因为它们使用假主机名或未设置。 (见下图)

另一种类型,像semalt 这样的抓取工具,实际上访问了您的网站,可以从.htaccess文件中阻止,但是,只有少数几个。

总结 ,以阻止Google Analytics中的垃圾邮件:

  • Crawlers: GA中的服务器端解决方案或过滤器
  • Ghosts:仅限GA中的过滤器

防止被鬼垃圾邮件击中的唯一有效解决方案是使用包含所有有效主机名的过滤器

首先,您需要使用所有有效的主机名进行REGEX,如下所示(您可以在网络报告中找到它们)

yoursite\.com|shoppingcart\.com|translateservice\.net

这些是一些例子;你可能有更多或更少的主机名。获得REGEX后,请按照上述相同步骤进行更改:

  
      
  • 转到Google Analytics
  • 中的管理标签   
  • 选择查看列>下的过滤器 新过滤器
  •   
  • 过滤器类型 自定义> 包含> 过滤字段 主机名
  •   
  • 文件模式复制您构建的主机名表达式
  •   

对于Crawlers,您必须创建一个不同的过滤器,构建一个包含所有垃圾邮件发送者的表达式

spammer1|spammer2|spammer3|spammer4|spammer5
  
      
  • 过滤器类型 自定义> 排除> 过滤字段 广告系列来源
  •   
  • 文件模式复制推荐表达式
  •   

每次使用过滤器时,都必须保留未过滤的视图

如果您需要此解决方案的详细步骤,请查看此 Google Analytics中垃圾邮件的完整指南

Guide to stop and remove All the spam in Google Analytics

希望它有所帮助。

主机名报告示例 valid hostnames

答案 1 :(得分:12)

blog post表明垃圾邮件引荐来源操纵Google Analytics并且实际上从未访问过您的网站,因此阻止它们毫无意义。如果您想减少虚假网站点击,Google Analytics会提供filtering

答案 2 :(得分:6)

是的,您可以使用.htaccess阻止,实际上您应该这样做。

您的 .htaccess 文件可能如下所示:

<IfModule mod_setenvif.c>
# Set spammers referral as spambot
SetEnvIfNoCase Referer darodar.com spambot=yes
SetEnvIfNoCase Referer 7makemoneyonline.com spambot=yes
## add as many as you find

Order allow,deny
Allow from all
Deny from env=spambot
</IfModule>

当流量来自这些网站时,它们会被此.htaccess阻止,因此HTML永远不会被加载,因此GA脚本不会被激活(来自这些网站)。

一旦您看到Google Analytics中的传入流量,然后尝试找出您转到该网址的来源,他们就会尝试收集您的流量。除了您的统计数据充满垃圾数据外,它对您的网站无害。

Google Analytics应该会阻止这种情况,就像GMail阻止垃圾邮件一样。

答案 3 :(得分:3)

根据this entry,他们从不访问您的网站,他们使用您的UA代码向GA伪造HTTP请求。因此,使用.htaccess或任何其他方法阻止它们似乎毫无意义,因为它们实际上从未进入您的网站,它们只向Google发送虚假的“访问”数据。

答案 4 :(得分:2)

我们发现使用htaccess是阻止这些垃圾邮件的好方法。我在我的客户网站上实施了以下解决方案,到目前为止工作得很好。 最好的方法是通过contains子句来阻止它们,例如spam priceg.com检查引荐来源网址中的priceg。

因为许多这些网站正在创建子域并重新点击,当他们调整网址时,硬编码条件会失败

  

RewriteCond%{HTTP_REFERER}(priceg)[NC,OR]
   RewriteCond%{HTTP_REFERER}(darodar)[NC,OR]

详细解释here

答案 5 :(得分:1)

显然,这是垃圾邮件发送者通过使用您网站的帐户ID直接与Google Analytics进行通信来完成的。所以他们有效地告诉谷歌分析他们访问了你的页面,而事实上他们从来没有。他们通过他们希望您访问的URL来识别自己的分析。因此,您可以在Google Analytics中看到他们的流量,然后查看它们。例如,他们将有一个亚马逊联盟帐户,因此他们会尝试从您的亚马逊购买中获得佣金。

所以.htaccess在我打这个时没有为我做任何事;你需要创建一个过滤器,过滤掉像(。*)/。darodar / .com

这样的东西

我从中发现的真正不良影响是它使我的网站统计信息无效

答案 6 :(得分:0)

您可以限制访问使用.htaccess或过滤Google Analytics跟踪的所有机器人访问。如果这不起作用,请设置Google Analytics过滤。有关如何执行此操作的更多详细信息,请访问:http://www.wiyre.com/google-analytics-darodar-forum-spam-what-is-it/

他们是俄罗斯人,但他们的蜘蛛通过中国和菲律宾。也许最好在此时阻止整个IP地址,它们有多个子域。

答案 7 :(得分:0)

我将这些mod_rewrite方法用于semalt:

RewriteCond %{HTTP_REFERER} ^http(s)?://(www\.)?semalt\.com.*$ [NC]
RewriteCond %{HTTP_REFERER} ^http(s)?://(.*\.)?semalt\.*$ [NC,OR]
RewriteCond %{HTTP_REFERER} ^https?://([^.]+\.)*semalt\.com\ [NC,OR]

或使用.htaccess模块​​mod_setenvif

SetEnvIfNoCase Referer semalt.com spambot=yes
SetEnvIfNoCase REMOTE_ADDR "217\.23\.11\.15" spambot=yes
SetEnvIfNoCase REMOTE_ADDR "217\.23\.7\.144" spambot=yes

Order allow,deny
Allow from all
Deny from env=spambot

我甚至创建了一个Apache,Nginx&amp;清漆黑名单加上Google Analytics细分以防止引荐来源垃圾邮件流量,您可以在此处找到它:

https://github.com/Stevie-Ray/referrer-spam-blocker/

答案 8 :(得分:0)

使用提供的链接过滤所有类型的未来和历史垃圾邮件。主机名过滤特别容易。

https://www.ohow.co/ultimate-guide-to-removing-irrelevant-traffic-in-google-analytics/

答案 9 :(得分:0)

阻止网络服务器级别的任何机器人都没有意义 - 垃圾邮件发送者向Google Analytics网络服务器发送虚假请求。他们必须知道的是网站域名和链接到它的Google Analytics ID。 因此,您必须在网站代码中屏蔽Google Analytics ID。例如,您可以在Google Analytics JS代码中执行此操作:

ga('create', 'UA-X' + 'XXXXX' + 'XX-X', 'auto');

垃圾邮件发送者的僵尸程序应该能够执行JS代码以在此更改后解析您的Google Analytics ID(并且没有那么多机器人可以执行此操作)。

https://nobodyonsecurity.com/security/fighting-google-analytics-referrer-spam

答案 10 :(得分:0)

.htaccess不是最好的方法。在我的网站中,我使用GA,选项跟踪信息,然后使用参考排除列表。

问候!

答案 11 :(得分:0)

Lunametrics使用Google跟踪代码管理器发布了一篇很好的解决此问题的文章: http://www.lunametrics.com/blog/2014/03/11/goodbye-to-exclude-filters-google-analytics/

答案 12 :(得分:0)

我认为避免虚假垃圾邮件最有效的方法是添加一个自定义维度,让您知道该网站确实被访问过,因为我们知道他们从不访问该网站。

ga('set', 'dimension1', "Hey I'm really here!!");
ga('send', 'pageview');

您应该只在页面中添加这些行,然后仅在维度具有预期值时添加过滤器以“包含”(在这种情况下,“嘿,我真的在这里!!”)

答案 13 :(得分:0)

2019年更新

我发现其他解决方案都不有效,因此我可能会解决此问题。

让我先解决现有解决方案的问题

  1. 为每个引荐来源垃圾邮件域添加一个过滤器。
  2. 您将添加多少个域?
  3. 大多数引荐来源垃圾邮件域存在一段时间,并且 然后消失
  4. 维护引荐来源垃圾邮件域的黑名单。
  5. 这变得更加复杂,因为它们的数量基本上是无限的。
  6. 您将必须不断更新黑名单。
  7. 黑名单越大,您需要扫描的时间越多
  8. 诸如维护手动htaccess之类的任何其他操作都需要人工干预,随着您的网站越来越受欢迎,这种干预将不会扩展
  9. 任何自动操作,例如使用AI确定引荐来源垃圾邮件域显示方式的模式,都会遇到失败/失败的情况

这些漫游器如何工作?

首先,了解这些漫游器的工作方式至关重要

  1. 他们至少使用正则表达式模式(例如/ UA- \ d {6} /)来加载他们从种子网站开始后递归访问的跟踪ID

我相信我有一个解决方案,具有以下优点

  1. 无需维护白名单和黑名单
  2. 将轻松应对其中的99%,并且随时可以对其进行修改以使其达到100%
  3. 几乎不需要人工干预
  4. 这个想法是在脚本中根本没有跟踪ID

以下是示例

script.
      //- Google Analytics ID
      var a = [85, 65, 45, 49, 49, 49, 49, 49, 49, 49, 49, 49, 45, 50];

      var newScript = document.createElement("script");
      newScript.type = "text/javascript";
      newScript.setAttribute("async", "true");
      newScript.setAttribute("src", "https://www.googletagmanager.com/gtag/js?id=" + a.map(i => String.fromCharCode(i)).join(""));
      document.documentElement.firstChild.appendChild(newScript);

      window.dataLayer = window.dataLayer || [];
      function gtag(){dataLayer.push(arguments);}
      gtag('js', new Date());
      gtag('config', a.map(i => String.fromCharCode(i)).join(""), { 'send_page_view': false });
      // Feature detects Navigation Timing API support.
      if (window.performance) {
        // Gets the number of milliseconds since page load
        // (and rounds the result since the value must be an integer).
        var timeSincePageLoad = Math.round(performance.now());
        console.log(timeSincePageLoad)
        // Sends the timing event to Google Analytics.
        gtag('event', 'timing_complete', {
          'name': 'load',
          'value': timeSincePageLoad,
          'event_category': '#{title}'
        });
      }
  1. 我们采用一种非常简单的方法,将“ UA-1111111-1”形式的跟踪ID分解为一个字符代码数组

  2. 现在,我们需要随时从字符代码数组动态构造跟踪ID,

  3. 可以通过将方法转换为加密的数字束(以8为底,十六进制),在每次运行期间添加固定偏移量,随机偏移量,并使用私钥对RSA加密跟踪ID,将方法变得无限复杂服务器并使用公共密钥对其进行解密,但是基本方法的确非常快,因为JS中的数组非常快,可以轻松击败99%的机器人。