一聚教程网:一个值得你收藏的教程网站

热门教程

php curl伪造referer与来源IP实例

时间:2022-06-24 22:53:34 编辑:袖梨 来源:一聚教程网

例子1

 代码如下 复制代码
[one.php]

$post_data = array (
  "user" => "gongwen",
  "pwd" => "123456"
);

$header_ip = array(
  'CLIENT-IP:88.88.88.88',
  'X-FORWARDED-FOR:88.88.88.88',
);

$referer='http://www.111com.net';

$ch = curl_init();
curl_setopt ($ch, CURLOPT_URL, 'http://localhost/curl/two.PHP');

//伪造来源referer
curl_setopt ($ch,CURLOPT_REFERER,$referer);

//伪造来源ip
curl_setopt($ch, CURLOPT_HTTPHEADER, $header_ip);

//提交post传参
curl_setopt($ch, CURLOPT_POSTFIELDS, $post_data);

//加上这个表示执行curl_exec是把输出做为返回值,不会输出到浏览器
curl_setopt($ch,CURLOPT_RETURNTRANSFER,1);
$out_put=curl_exec ($ch);
curl_close ($ch);
echo $out_put;


[two.php]

 //请求来源referer
 echo '[HTTP_REFERER]
';
 echo $_SERVER['HTTP_REFERER'];

 //请求来源ip
 //[注]此处的IP打印顺序是目前很多开源系统的IP获取顺序
 echo '
[IP]
';
 echo $_SERVER['HTTP_CLIENT_IP'];
 echo '
';
 echo $_SERVER['HTTP_X_FORWARDED_FOR'];
 echo '
';
 echo $_SERVER['REMOTE_ADDR'];

 //POST数据
 echo '
[POST]
';
 var_dump($_POST);
 echo '
';




浏览器访问one.php。页面打印如下:


例子2

 代码如下 复制代码
function getImagesUrl( $url,$userinfo,$header)
{
    $ch = curl_init();
    $timeout = 1;
    curl_setopt ($ch, CURLOPT_URL, "$url");
    curl_setopt ($ch, CURLOPT_HTTPHEADER, $header);
    curl_setopt ($ch, CURLOPT_REFERER, "http://www.baidu.com/");
    curl_setopt ($ch, CURLOPT_RETURNTRANSFER, 1);
    curl_setopt ($ch, CURLOPT_USERAGENT, "$userinfo");
    curl_setopt ($ch, CURLOPT_CONNECTTIMEOUT, $timeout);     
    $contents = curl_exec($ch);
    curl_close($ch);
    //echo $contents;
    return $contents ;
   
}

function saveurl( $handle ,$filename)
{
    $fp = fopen($filename,"w");
    fwrite($fp,$handle);
    unset($fp);
    unset($handle);
}

$binfo =array('Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 5.1; Trident/4.0; .NET CLR 2.0.50727; InfoPath.2; AskTbPTV/5.17.0.25589; Alexa Toolbar)','Mozilla/5.0 (Windows NT 5.1; rv:22.0) Gecko/20100101 Firefox/22.0','Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 5.1; Trident/4.0; .NET4.0C; Alexa Toolbar)','Mozilla/4.0(compatible; MSIE 6.0; Windows NT 5.1; SV1)',$_SERVER['HTTP_USER_AGENT']);
//123.125.68.*
//125.90.88.*
$cip = '123.125.68.'.mt_rand(0,254);
$xip = '125.90.88.'.mt_rand(0,254);
$header = array(
'CLIENT-IP:'.$cip,
'X-FORWARDED-FOR:'.$xip,
);
$u = $binfo[mt_rand(0,3)];

$get_file = getImagesUrl($value,$u,$header);
saveurl($get_file,'a.jpg');



即可。

热门栏目