PHP实现提交虚假数据给百度统计

个人网站被刷,于是研究了一下百度统计,查了一些大佬的文章,在大佬的基础上拓展了下。

大佬文章原地址:https://www.daimadog.com/4502.html

本文拓展皆基于大佬文章,详细说明请看大佬文章,在此感谢大佬的解答,具体代码如下:

<?php
 
 
function visbd($bdid, $word, $entrance)
{
 
    $bdjs = 'https://hm.baidu.com/hm.js?';
    $bdgif = 'https://hm.baidu.com/hm.gif?';
    //搜索引擎
    $search = array(
        'https://www.sogou.com/tx?query=',
        'https://www.so.com/s?q=',
        'https://www.google.com.hk/search?q=',
        'https://cn.bing.com/search?q=');
    $rand = rand(0, 3);
    //随机一个搜索引擎
    $hunt = $search["$rand"];
 
    //必要的第一次传参
    $params = ['si' => $bdid, 'su' => $hunt . urldecode($word), 'u' => $entrance . time()];
    $url1 = $bdjs . $bdid;
    getUrlData($url1);
 
    //必要的第二次传参
    $params1 = $params;
    $params1['ep'] = rand(7000000, 9999999) . ',' . rand(10000, 400000);
    $params1['et'] = '3';
    $params1['rnd'] = rand(1000000000, 7000000000);
    $params1['sn'] = rand(10000, 99999);
    ksort($params1);
    $str = urldecode(http_build_query($params1));
    $url2 = $bdgif . $str;
    getUrlData($url2);
 
    //必要的第三次传参
    $params2 = $params;
    $params2['tt'] = '网站标题';  //访问的网站标题,无影响
    ksort($params2);
    $str1 = urldecode(http_build_query($params2));
    $url3 = $bdgif . $str1;
    getUrlData($url3);
 
 
}
 
 
//模拟访问
function getUrlData($url)
{
 
    $curl = curl_init();    //创建一个新的CURL资源
 
    $UserAgent = 'Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 6.0; SLCC1; .NET CLR 2.0.50727; .NET CLR 3.0.04506; .NET CLR 3.5.21022; .NET CLR 1.0.3705; .NET CLR 1.1.4322)';
 
    $ip = mt_rand(11, 191) . "." . mt_rand(0, 240) . "." . mt_rand(1, 240) . "." . mt_rand(1, 240);   //随机ip
 
    $header = array('CLIENT-IP:' . $ip, 'X-FORWARDED-FOR:' . $ip);    //构造ip
 
 
    curl_setopt($curl, CURLOPT_URL, $url);  //设置URL和相应的选项
    curl_setopt($curl, CURLOPT_HEADER, 1);  //0表示不输出Header,1表示输出
    curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);  //设定是否显示头信息,1显示,0不显示。
    //如果成功只将结果返回,不自动输出任何内容。如果失败返回FALSE
    curl_setopt($curl, CURLOPT_HTTPHEADER, $header);
 
    curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, false);
    curl_setopt($curl, CURLOPT_SSL_VERIFYHOST, false);
    curl_setopt($curl, CURLOPT_ENCODING, '');   //设置编码格式,为空表示支持所有格式的编码
    //header中“Accept-Encoding: ”部分的内容,支持的编码格式为:"identity","deflate","gzip"。
 
    curl_setopt($curl, CURLOPT_USERAGENT, $UserAgent);
    curl_setopt($curl, CURLOPT_FOLLOWLOCATION, 1);
    //设置这个选项为一个非零值(象 “Location: “)的头,服务器会把它当做HTTP头的一部分发送(注意这是递归的,PHP将发送形如 “Location: “的头)。
 
    $data = curl_exec($curl);
 
    if (curl_errno($curl)) {
        echo 'Curl error: ' . curl_error($curl);
        die;
    }
 
    //关闭URL请求
    curl_close($curl);
 
}
 
 
//开始刷流量,5代表刷5次
for ($i = 0; $i < 5; $i++) {
    $bdid = 'e204630b744fdbb8c81af8a961033ad6';  //hm.js识别id
    $word = '万界圆梦师';  //搜索词
    $entrance = 'https://www.baidu.com/time='; //入口页面
    visbd($bdid, $word, $entrance);
    getUrlData('https://www.cc148.com/');  //要刷的网站
 
}
echo '完成';
 
 

效果图:

 

 

posted @ 2020-08-06 17:48  守望的深渊  阅读(213)  评论(0)    收藏  举报