位置 : 首页 > 经验分享 > PHP教程 > php搞定ip伪装的两种方式

php搞定ip伪装的两种方式

时间:2018-05-23   收藏
客户访问网站,获取客户ip,伪装客户ip去访问数据源$ip='121.186.1.57'; $headers['CLIENT-IP'] = $ip; $headers['X-FORWARDED-FOR'] = $ip;

 第一种:写了段代码伪装ip,原理是,客户访问网站,获取客户ip,伪装客户ip去访问数据源。采集后处理缓存到/tmp公共目录(省了空间,不占用自己的空间),然后输出到客户浏览器。代码如下:

$url = "http://www.baidu.com";
$host = 'www.baidu.com';
$data = "要发送的数据";

$ip='121.186.1.57';
$headers['CLIENT-IP'] = $ip;  
$headers['X-FORWARDED-FOR'] = $ip; 
$headerArr = array();
  
foreach( $headers as $n => $v ) {  
    $headerArr[] = $n .':' . $v;   
}

$ch = curl_init();  
$timeout = 5;  
curl_setopt ($ch, CURLOPT_URL, $url);  
curl_setopt ($ch, CURLOPT_RETURNTRANSFER, 1);  
curl_setopt ($ch, CURLOPT_CONNECTTIMEOUT, $timeout);  
curl_setopt ($ch, CURLOPT_HTTPHEADER , $headerArr );  //构造IP 
// 我们在POST数据哦!
curl_setopt($ch, CURLOPT_POST, 1);
// 把post的变量加上
curl_setopt($ch, CURLOPT_POSTFIELDS, $data);
$file_contents = curl_exec($ch);  
curl_close($ch); 

var_dump($file_contents);


第二种:采用socket请求的方式


$host = '192.168.1.100';

 $fp = fsockopen($host,80);
                    if(!$fp)
                    {
                            die('创建连接失败,检查主机地址或网络连接');
                    }
                    //构造http请求串
                    $send = "POST $path HTTP/1.1rn";
                    $send .= "Host: $hostrn";
                    $send .= "Content-type: application/x-www-form-urlencodedrn";
        //                    $send .= 'X-FORWARDED-FOR:8.8.8.8' . "rn";
                    $send .= "CLIENT-IP:$per_iprn";//伪造IP
                    $send .= "Content-length: " . strlen($data) . "rn";
                    $send .= "Connection: closernrn";
                    $send .= $data . "rnrn";
                    //发送请求
                    fwrite($fp, $send, strlen($send));

                    //读取返回信息
                    $back = '';
                    while(!feof($fp))
                    {
                        $back .= fread($fp, 1024);
                    }
                    fclose($fp);

                    if(strpos($back, '成功'))
                    {
                        $flag = '成功';
   
                        sleep(1);
                    }

                  

keywords: php ip伪装 两种方式


    浏览排行榜
    最新文字信息
返回顶部 关注新浪微博 关注腾讯微博