首页 > php教程 > php手册 > 正文

php curl伪造referer与来源IP实例

WBOY
发布: 2016-05-26 08:20:21
原创
1067 人浏览过

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

例子1,代码如下:

<?php 
	$post_data = array ( 
	  "user" => "gongwen", 
	  "pwd" => "123456" 
	); 
	 
	$header_ip = array( 
	  &#39;CLIENT-IP:88.88.88.88&#39;, 
	  &#39;X-FORWARDED-FOR:88.88.88.88&#39;, 
	); 
	 
	$referer=&#39;http://www.phprm.com&#39;; 
	 
	$ch = curl_init(); 
	curl_setopt ($ch, CURLOPT_URL, &#39;http://localhost/curl/two.PHP&#39;); 
	 
	//伪造来源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

<?php 
	 //请求来源referer 
	 echo &#39;[HTTP_REFERER]<br>&#39;; 
	 echo $_SERVER[&#39;HTTP_REFERER&#39;]; 
	 
	 //请求来源ip 
	 //[注]此处的IP打印顺序是目前很多开源系统的IP获取顺序  
	 echo &#39;<hr>[IP]<br>&#39;; 
	 echo $_SERVER[&#39;HTTP_CLIENT_IP&#39;]; 
	 echo &#39;<br>&#39;; 
	 echo $_SERVER[&#39;HTTP_X_FORWARDED_FOR&#39;]; 
	 echo &#39;<br>&#39;; 
	 echo $_SERVER[&#39;REMOTE_ADDR&#39;]; 
	 
	 //POST数据 
	 echo &#39;<hr>[POST]<br><pre class="brush:php;toolbar:false">&#39;; 
	 var_dump($_POST); 
	 echo &#39;
登录后复制
';

例子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.phprm.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(&#39;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)&#39;,&#39;Mozilla/5.0 (Windows NT 5.1; rv:22.0) Gecko/20100101 Firefox/22.0&#39;,&#39;Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 5.1; Trident/4.0; .NET4.0C; Alexa Toolbar)&#39;,&#39;Mozilla/4.0(compatible; MSIE 6.0; Windows NT 5.1; SV1)&#39;,$_SERVER[&#39;HTTP_USER_AGENT&#39;]); 
//123.125.68.* 
//125.90.88.*  
$cip = &#39;123.125.68.&#39;.mt_rand(0,254); 
$xip = &#39;125.90.88.&#39;.mt_rand(0,254); 
$header = array(  
&#39;CLIENT-IP:&#39;.$cip,  
&#39;X-FORWARDED-FOR:&#39;.$xip,  
);  
$u = $binfo[mt_rand(0,3)]; 
 
$get_file = getImagesUrl($value,$u,$header); 
saveurl($get_file,&#39;a.jpg&#39;);
登录后复制

即可.


教程地址:

欢迎转载!但请带上文章地址^^

相关标签:
来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
最新问题
热门推荐
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责声明 Sitemap
PHP中文网:公益在线PHP培训,帮助PHP学习者快速成长!