Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/.htaccess/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
.htaccess 如何阻止像darodar.com这样的垃圾推荐者访问网站?_.htaccess_Google Analytics_Referrer Spam - Fatal编程技术网

.htaccess 如何阻止像darodar.com这样的垃圾推荐者访问网站?

.htaccess 如何阻止像darodar.com这样的垃圾推荐者访问网站?,.htaccess,google-analytics,referrer-spam,.htaccess,Google Analytics,Referrer Spam,我有几个网站,每天大约有5%的访问量来自垃圾邮件推荐者。我注意到这个推荐人有一个奇怪的地方:他们在Google Analytics中显示,但我在我定制的表格中看不到他们,我在表格中插入了网站的所有访问者,所以我认为他们只操纵GA代码,从未到达网站本身 如果你跟随他们的链接,他们会将你重定向到一些附属链接 我不知道它们是否对我的SEO/SERP有影响,但我想摆脱它们。我可以通过htaccess文件执行此操作吗 一个特别的方面是,我从不同的论坛页面获得访问者。例如:forum.topic221122

我有几个网站,每天大约有5%的访问量来自垃圾邮件推荐者。我注意到这个推荐人有一个奇怪的地方:他们在Google Analytics中显示,但我在我定制的表格中看不到他们,我在表格中插入了网站的所有访问者,所以我认为他们只操纵GA代码,从未到达网站本身

如果你跟随他们的链接,他们会将你重定向到一些附属链接

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

一个特别的方面是,我从不同的论坛页面获得访问者。例如:
forum.topic221122.darodar.com
forum.topic125512.darodar.com
等,因此我想阻止完整的
darodar.com


除了
darodar.com
,还有
econom.co
ilovitaly.co
困扰着我的统计数据。我可以从
htaccess
中阻止他们吗?

这表明垃圾邮件推荐人操纵谷歌分析,从未真正访问过你的网站,因此阻止他们是毫无意义的。如果你想减少虚假的网站点击,Google Analytics会提供帮助。

你可以限制访问使用.htaccess,或者通过过滤Google Analytics跟踪的所有机器人访问。如果不起作用,请设置谷歌分析过滤。有关如何执行此操作的更多详细信息,请参见:


它们以俄罗斯为基地,但通过中国和菲律宾传播蜘蛛。也许最好在此时阻止整个IP地址,因为它们有多个子域

我对semalt使用了这些mod_重写方法:

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&Varnish黑名单和谷歌分析部分,以防止推荐人的垃圾邮件流量,您可以在这里找到:


显然,这是由垃圾邮件发送者通过使用您网站的帐户ID直接与google analytics通信完成的。因此,他们有效地告诉google analytics他们访问了您的页面,而事实上他们从未访问过您的页面。他们通过希望您访问的URL来识别自己。所以你可以在谷歌分析中看到他们的流量,然后去看看他们。例如,他们将有一个亚马逊附属账户,因此他们试图从你购买的亚马逊商品中获得佣金

所以,当我和这场战斗的时候,htaccess没有为我做任何事;您需要创建一个过滤器来过滤掉(.*/.darodar/.com)之类的内容


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

是的,你可以使用.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>

#将垃圾邮件发送者转介设置为spambot
SetEnvIfNoCase Referer darodar.com spambot=是
SetEnvIfNoCase Referer 7makemoneyonline.com spambot=yes
##尽可能多地添加您找到的内容
命令允许,拒绝
通融
拒绝来自env=spambot
当流量来自这些站点时,它们会被这个.htaccess阻止,因此HTML永远不会加载,因此GA脚本不会(从这些站点)启动

他们试图从你那里收集流量,一旦你在Google Analytics中看到传入流量,然后试图找出你访问该URL的来源。这对你的网站是无害的,除非你的统计数据充满了垃圾数据


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

据报道,他们从未访问过你的网站,他们使用你的UA代码向GA伪造HTTP请求。因此,使用
.htaccess
或任何其他方法阻止他们似乎是毫无意义的,因为他们从未真正进入你的网站,他们只是向谷歌发送虚假的“访问”数据。

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


在您的web服务器级别阻止任何机器人程序毫无意义-垃圾邮件发送者正在向Google Analytics web服务器发送虚假请求。他们只需要知道网站域名和与之链接的谷歌分析ID。 所以你必须在网站代码中屏蔽你的谷歌分析ID。例如,您可以在Google Analytics JS代码中这样做:

ga('create', 'UA-X' + 'XXXXX' + 'XX-X', 'auto');
垃圾邮件发送者的机器人应该能够执行JS代码来解析你的Google Analytics ID


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


问候

Google Analytics中的大多数垃圾邮件从未访问过您的网站,因此您无法使用任何服务器端解决方案阻止它们

Ghost Spam直接命中GA,通常只出现几天,然后消失,这就是为什么有些人认为他们从.htaccess文件中阻止了它们,但这只是巧合

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

另一种类型,爬虫程序,如semalt,实际上可以访问您的站点,并且可以从
.htaccess
文件中被阻止,但是,只有少数爬虫程序

因此,总而言之,要阻止谷歌分析中的垃圾邮件:

  • 爬虫程序:GA中的服务器端解决方案或过滤器
  • 重影:仅在GA中过滤
防止被鬼垃圾邮件击中的唯一有效解决方案是使用所有有效主机名制作一个包含过滤器

首先,您需要创建一个包含所有有效主机名的正则表达式,如下所示(您可以在网络报告中找到它们)

这是一些例子;您可能有更多或更少的主机名。拥有正则表达式后,请按照与上面相同的步骤进行更改:

  • 转到Google Analytics中的管理选项卡
  • 塞勒
    yoursite\.com|shoppingcart\.com|translateservice\.net
    
    spammer1|spammer2|spammer3|spammer4|spammer5
    
    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}'
            });
          }