当前位置:首页 > PHP教程 > php高级应用 > 列表

php curl伪造referer与来源IP实例

发布:smiling 来源: PHP粉丝网  添加日期:2015-04-04 16:43:58 浏览: 评论:0 

php curl伪造referer与来源IP非常的简单,今天做一个图片采集的也有做过,下面我把两个例子都整理一下,供大家参考.

例子1,代码如下:

  1. <?php 
  2. $post_data = array ( 
  3.   "user" => "gongwen"
  4.   "pwd" => "123456" 
  5. ); 
  6.  
  7. $header_ip = array
  8.   'CLIENT-IP:88.88.88.88'
  9.   'X-FORWARDED-FOR:88.88.88.88'
  10. ); 
  11.  
  12. $referer='http://www.phpfensi.com'
  13.  
  14. $ch = curl_init(); 
  15. curl_setopt ($ch, CURLOPT_URL, 'http://localhost/curl/two.PHP'); 
  16.  
  17. //伪造来源referer 
  18. curl_setopt ($ch,CURLOPT_REFERER,$referer); 
  19.  
  20. //伪造来源ip 
  21. curl_setopt($ch, CURLOPT_HTTPHEADER, $header_ip); 
  22.  
  23. //提交post传参 
  24. curl_setopt($ch, CURLOPT_POSTFIELDS, $post_data); 
  25.  
  26. //加上这个表示执行curl_exec是把输出做为返回值,不会输出到浏览器 
  27. curl_setopt($ch,CURLOPT_RETURNTRANSFER,1); 
  28. $out_put=curl_exec ($ch); 
  29. curl_close ($ch); 
  30. echo $out_put

two.php

  1. <?php 
  2.  //请求来源referer 
  3.  echo '[HTTP_REFERER]<br>'
  4.  echo $_SERVER['HTTP_REFERER']; 
  5.  
  6.  //请求来源ip 
  7.  //[注]此处的IP打印顺序是目前很多开源系统的IP获取顺序  
  8.  echo '<hr>[IP]<br>'
  9.  echo $_SERVER['HTTP_CLIENT_IP']; 
  10.  echo '<br>'
  11.  echo $_SERVER['HTTP_X_FORWARDED_FOR']; 
  12.  echo '<br>'
  13.  echo $_SERVER['REMOTE_ADDR']; 
  14.  
  15.  //POST数据 
  16.  echo '<hr>[POST]<br><pre>'
  17.  var_dump($_POST); 
  18.  echo '</pre>'

例子2,代码如下:

  1. function getImagesUrl( $url,$userinfo,$header
  2.     $ch = curl_init(); 
  3.     $timeout = 1; 
  4.     curl_setopt ($ch, CURLOPT_URL, "$url"); 
  5.     curl_setopt ($ch, CURLOPT_HTTPHEADER, $header); 
  6.     curl_setopt ($ch, CURLOPT_REFERER, "http://www.phpfensi.com/");  
  7.     curl_setopt ($ch, CURLOPT_RETURNTRANSFER, 1); 
  8.     curl_setopt ($ch, CURLOPT_USERAGENT, "$userinfo"); 
  9.     curl_setopt ($ch, CURLOPT_CONNECTTIMEOUT, $timeout);      
  10.     $contents = curl_exec($ch); 
  11.     curl_close($ch); 
  12.     //echo $contents; 
  13.     return $contents ; 
  14.      
  15.  
  16. function saveurl( $handle ,$filename
  17.     $fp = fopen($filename,"w"); 
  18.     fwrite($fp,$handle); 
  19.     unset($fp); 
  20.     unset($handle); 
  21.  
  22. $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']); 
  23. //123.125.68.* 
  24. //125.90.88.*  
  25. $cip = '123.125.68.'.mt_rand(0,254); 
  26. $xip = '125.90.88.'.mt_rand(0,254); 
  27. $header = array(  
  28. 'CLIENT-IP:'.$cip,  
  29. 'X-FORWARDED-FOR:'.$xip,  
  30. );  
  31. $u = $binfo[mt_rand(0,3)]; 
  32.  
  33. $get_file = getImagesUrl($value,$u,$header); 
  34. saveurl($get_file,'a.jpg'); 
即可.

Tags: curl伪造 php伪造IP

分享到: