黄聪

论SEO对人类的重要性,请看我的博客:hcsem.com

  博客园 :: 首页 :: 博问 :: 闪存 :: 新随笔 :: 联系 :: 订阅 订阅 :: 管理 ::

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

 

百度统计被刷广告的症状

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

百度统计被刷广告

百度统计被刷广告的原理

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

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

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

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

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

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

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

百度统计给我们的代码:

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

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

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

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

 

posted on 2021-02-24 23:10  黄聪  阅读(772)  评论(1编辑  收藏  举报