SEO营销

PHP代码实现百度统计关键词及来路推送

阿里云

勾起我搞这个的兴趣是因为有个卖软件的,老是向我的百度统计后台推送引流软件广告。搜索后发现早就有人做过这方面的研究,然而随着统计代码版本升级,部分功能暂时还未解决。今天这篇 PHP 代码实现提交虚假数据给百度统计就教大家,怎么向目标网站的百度统计后台推送来源地址,关键词来源我还没解决,有知道的大佬劳烦告诉我一声,不甚感激。

首先我们先来分析下百度统计的作用原理,这个过程你可以读百度统计 js 代码,也可以使用抓包的方式。我看不懂百度统计的代码,一大片的 abcdefg…..看得脑袋痛,所以我使用浏览器抓包的方式来获取百度统计 js 的工作过程。

也想出现在这里?联系我们
创客主机

打开一个带有百度统计的网站,我这里就直接打开我的博客代码狗首页,然后打开浏览器的 F12 中 network 标签,准备抓包。随便打开一个链接,注意,我的网站链接都会新窗口打开,所以先用 F12 的改下 elements 标签修改下超链接跳转方式,让新窗口打开变成当前窗口打开,然后通过浏览器抓到如下的请求过程。

可以清楚得看到,一共请求了百度 3 次,点击第一次的请求地址我们可以看到真正的百度统计代码。如果你觉得你的 js 功底不错,可以尝试阅读下。第二次与第三次是向一张 gif 发起的请求,搜索后网友告诉我是为了防止出现跨域请求,所以伪装成一张图片。点开我们可以看到如下的请求参数。

第二次请求参数:

  • cc=1
  • ck=1
  • cl=24-bit
  • ds=1600×900
  • vl=761
  • ep=77772,2590
  • et=3
  • fl=27.9
  • ja=0
  • ln=zh-cn
  • lo=0
  • lt=1560213157
  • rnd=1965430449
  • si=338f36c03fc36a54e79fbd2ebdae9589
  • su=https://www.daimadog.com/wp-admin/post-new.php
  • v=1.2.51
  • lv=3
  • sn=58284
  • u=https://www.daimadog.com/

第三次请求参数:

  • cc=1
  • ck=1
  • cl=24-bit
  • ds=1600×900
  • vl=276
  • et=0&fl=27.9
  • ja=0
  • ln=zh-cn
  • lo=0
  • lt=1560213157
  • rnd=281282742
  • si=338f36c03fc36a54e79fbd2ebdae9589
  • su=https://www.daimadog.com/
  • v=1.2.51
  • lv=3
  • sn=58362
  • ct=!!
  • tt=WordPress 手机验证码注册插件源码分享-代码狗

通过两次参数对比,我们可以发现有部分参数不一样,但大部分都是一样的。这些参数对应的含义大概如下:

  • cc 不知
  • ck 是否支持 cookie 1:0
  • cl 颜色深度 如 24-bit
  • ds 屏幕尺寸,如 1600×900
  • vl 不知
  • ep 初始值为’0′,时间变量,反映页面停留时间,格式大概是:现在时间-载入时间+“,”+另一个很小的时间值
  • et 初始值为’0′,如果 ep 时间变量不是 0 的话,它会变成其他
  • fl flash 版本
  • ja java 支持 1:0
  • ln 语言 zh-cn
  • lo 不知
  • lt 时间戳
  • rnd 随机数(1 开头有 10 位 其它开头只有 9 位)
  • si 你的百度统计 id
  • su 来源地址
  • v 百度统计 js 版本号
  • lv 不知
  • sn 5 位随机数
  • u 当前页地址
  • ct 不知,默认!!
  • tt 当前页标题

当我们首次进入网站被统计时,发现百度统计只提交了 2 次请求(如下),因此,我们只需模拟这两次请求就能在百度统计后台看到了。

PHP 源码:

  1. <?php
  2. visbd();
  3. function visbd(){
  4. $bdid='338f36c03fc36a54e79fbd2ebdae9589';
  5. $bdjs = 'https://hm.baidu.com/hm.js?';
  6. $bdgif = 'https://hm.baidu.com/hm.gif?';
  7. $params=[
  8. 		'cc'=>1,
  9. 		'ck'=>1,
  10. 		'cl'=>'24-bit',
  11. 		'ds'=>'1600x900',
  12. 		'vl'=>'1760',
  13. 		//'ep'=>'1551962,70574',
  14. 		//'et'=>3,
  15. 		'fl'=>27.9,
  16. 		'ja'=>0,
  17. 		'ln'=>'zh-cn',
  18. 		'lo'=>0,
  19. 		'lt'=>time(),
  20. 		//'rnd'=>rand(1000000000,7000000000),
  21. 		'si'=>$bdid,
  22. 		'su'=>'https://www.23456789.com',
  23. 		'v'=>'1.2.51',
  24. 		'lv'=>3,
  25. 		'sw'=>'代码',
  26. 		//'sn'=rand(10000,99999),
  27. 		'u'=>'https://www.daimadog.com/'
  28. 		];
  29. $url1=$bdjs.$bdid;
  30. echo $url1.'</br>';
  31. curl_get($url1);
  32. $params1=$params;
  33. $params1['ep']=rand(7000000,9999999).','.rand(10000,400000);
  34. $params1['et']='3';
  35. $params1['rnd']=rand(1000000000,7000000000);
  36. $params1['sn']=rand(10000,99999);
  37. ksort($params1);
  38. $str=urldecode( http_build_query($params1));
  39. $url2=$bdgif.$str;
  40. echo $url2.'</br>';
  41. curl_get($url2);
  42. $params2=$params;
  43. $params2['et']='0';
  44. $params2['ct']='!!';
  45. $params2['tt']='WordPress优化';
  46. ksort($params2);
  47. $str1=urldecode( http_build_query($params2));
  48. $url3=$bdgif.$str1;
  49. echo $url3.'</br>';
  50. curl_get($url3);
  51. }
  52. function curl_get($url){
  53.     $curl = curl_init();
  54.      curl_setopt($curl, CURLOPT_URL, $url);
  55.      curl_setopt($curl, CURLOPT_HEADER, 1);
  56.      curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
  57.      curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, false);
  58.      curl_setopt($curl, CURLOPT_SSL_VERIFYHOST, false);
  59.      $data = curl_exec($curl);
  60.      curl_close($curl);
  61.      return $data;
  62. }
  63. ?>

百度统计后台效果:

我模拟了谷歌、2345、23456789 这三个地址的来源,在后台也看到了这三条统计,说明我们的代码是 OK 的,搜索词这个东西我研究了一阵没找到怎么来的,有知道的大佬告诉我一声!

PHP 代码实现百度统计关键词及来路推送

已有 571 人购买
查看演示升级 VIP立刻购买

收藏
(2)

发表回复

热销模板

Ashade - 作品展示摄影相册WordPress汉化主题
LensNews

本站承接 WordPress / PbootCMS / DedeCMS 等
系统建站、仿站、开发、定制等业务!