还不打算结束一天的工作吗?

默认分类

解决百度统计被刷广告的办法,屏蔽非法广告

2020年12月11日 13:12:50 · 本文共 1,106 字阅读时间约 4分钟 · 3,925 次浏览
解决百度统计被刷广告的办法,屏蔽非法广告

近日,在百度统计后台中广告泛滥,包括收流量、代开发票、SEO、云主机等等广告,严重影响了正常的统计分析,所以想办法解决这个问题,分享给站长们。

百度统计被刷广告的症状

如果你的百度统计被恶意刷广告的话,你会在百度统计后台里的搜索词、来源等看到各种广告,包括收流量、代开发票、SEO、云主机等等广告,例如我下面的截图,很多真实的流量被刷到看不到,而且流量也会造成统计不准,可能感觉最近几天流浪猛增,但实际真实流量并没有那么大。

百度统计被刷广告

百度统计被刷广告的原理

想要斩草除根,就需要知己知彼,明白他们操作的原理以后,就可以有效的遏制他们无下限的刷广告。

他们是这样做的,先写一个机器爬虫,爬取页面内容,寻找「hm.baidu.com/hm.js」如果找到了就说明你使用了百度统计,然后再取后面的参数,就得到了你的百度统计ID,然后保存到数据库,拿到你的的百度统计ID以后,就可以进行下一步,使用程序批量的给百度统计接口发送数据,也就是说这些内容他们根本不是真的去你的网站,而是直接给百度统计的接口提交了数据,对你的网站流量没有任何贡献,你只有看广告的份。

我也是被刷广告刷的很严重,是在忍无可忍,必须解决一下他们了。

百度统计被刷广告的解决办法

我们明白了他们的原理,现在就开始见招拆招,破解他们的刷广告的手段。

首先,你的旧的统计代码ID已经被他们获取到了,保存到了他们的数据库,所以建议旧的代码就放弃吧,去百度统计删除掉,再新增网站,你会获得一个新的统计代码。

然后,为了让他们的爬虫程序识别不到百度统计代码,我们需要将百度统计的URL地址做一个变换,我的方式是将原有的百度统计URL地址打散成一个一个的字符串数组,然后再拼装起来,实例如下:

百度统计给我们的代码:

var _hmt = _hmt || [];
(function() {
  var hm = document.createElement("script");
  hm.src = "https://hm.baidu.com/hm.js?ee1f1987ccfc9bcd61a1d220f5ae41e1";
  var s = document.getElementsByTagName("script")[0]; 
  s.parentNode.insertBefore(hm, s);
})();

将百度统计的特征,也就是地址打散成数组,再组装使用:

var _hmt = _hmt || [];
(function() {
    var hm = document.createElement("script");
    var analytics_bd = 'ee1f1987ccfc9bcd61a1d220f5ae41e1';
    hm.src = ['ht', 't', 'ps', ':/', '/h', 'm', '.', 'ba', 'i', 'd', 'u.c', 'o', 'm/', 'h', 'm', '.j', 's?', analytics_bd].join('');
    var s = document.getElementsByTagName("script")[0];
    s.parentNode.insertBefore(hm, s);
}
)();

需要改动的就只有一行,注意「hm.src = "https://hm.baidu.com/hm.js?ee1f1987ccfc9bcd61a1d220f5ae41e1";」这行代码,被拆散为数组,然后再拼装起来使用。这样他们的爬虫程序就无法识别到你在使用百度统计了。

商业用途请联系作者获得授权。
版权声明:本文为博主「任霏」原创文章,遵循 CC BY-NC-SA 4.0 版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.renfei.net/posts/1003425
评论与留言

以下内容均由网友提交发布,版权与真实性无法查证,请自行辨别。

微信搜一搜:任霏博客