如何屏蔽百度统计被恶意刷广告

时间:2022年07月14日

/

来源:网络

/

编辑:佚名

百度统计被恶意刷广告怎么办?
1、问题背景:
从今年开始,公司网站的百度统计后台经常出现SEO收量、流量劫持、SEO外包等广告流量,自己的个人博客上线不到一个月百度统计后台也开始被刷广告了,首先营销了数据统计的准确性,其次每次打开后台看到一堆广告,强迫症看着非常不舒服。于是就想办法去屏蔽它。
2、工作原理:
想要屏蔽这些广告流量,就要先明白他们的工作原理。他们工作的流程大致如下:
首先写一个机器爬虫,爬取页面内容,寻找【hm.baidu.com/hm.js】如果找到了就说明你使用了百度统计,然后再获取后面的参数,就得到了你的百度统计ID。
然后将你的百度统计ID保存到他们的数据库,使用程序批量的给百度统计接口发送数据,这些数据就出现在你的百度统计后台了。这点通过网站日志与百度统计数据对比就可以筛查出,最初我是在服务器里对这些垃圾流量的域名进行了屏蔽,然而并没有起作用。
所以说他们根本不是真的去你访问你的网站了,而是直接给百度统计的接口提交了数据,对你的网站流量没有任何贡献,你只有看广告的份。
3、解决方法:
我们明白了他们的原理,就可以针对性的去解决他们刷广告了。
首先,因为你现在的百度统计ID已经被保存在他们的数据库了,所以要删除百度统计后台现有的百度统计ID,再新增网站,获得一个新的统计代码。
然后,为了防止让他们的爬虫程序再次识别到百度统计代码,我们需要将百度统计的代码做一下优化,把统计URL和统计ID转化成字符串数组,然后再拼装起来,实例如下:
新获取的百度统计代码:
<script>
var _hmt = _hmt || [];
(function() {
  var hm = document.createElement("script");
  hm.src = "https://hm.baidu.com/hm.js?123456789abcdefgh";
  var s = document.getElementsByTagName("script")[0];
  s.parentNode.insertBefore(hm, s);
})();
</script>
优化后的百度统计代码
<script>
var _hmt = _hmt || [];
(function() {
  var hm = document.createElement("script");
  hm.src = ['ht', 't', 'ps', ':/', '/h', 'm', '.', 'ba', 'i', 'd', 'u.c', 'o', 'm/', 'h', 'm', '.j', 's?', '123456789','abcdefgh'].join('');
  var s = document.getElementsByTagName("script")[0];
  s.parentNode.insertBefore(hm, s);
})();
</script>
只需修改红色的那一行代码即可。
如果你也遇到相同的问题,可以试下这个方法。
猜你需要

豫ICP备2021026617号-1  豫公网安备:41172602000185   Copyright © 2021-2028 www.78moban.com/ All Rights Reserved

本站作品均来自互联网,转载目的在于传递更多信息,并不代表本站赞同其观点和对其真实性负责。如有侵犯您的版权,请联系 1565229909#qq.com(把#改成@),我们将立即处理。