php curl伪造referer与来源IP实例
发布:smiling 来源: PHP粉丝网 添加日期:2015-04-04 16:43:58 浏览: 评论:0
php curl伪造referer与来源IP非常的简单,今天做一个图片采集的也有做过,下面我把两个例子都整理一下,供大家参考.
例子1,代码如下:
- <?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.phpfensi.com';
- $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
- <?php
- //请求来源referer
- echo '[HTTP_REFERER]<br>';
- echo $_SERVER['HTTP_REFERER'];
- //请求来源ip
- //[注]此处的IP打印顺序是目前很多开源系统的IP获取顺序
- echo '<hr>[IP]<br>';
- echo $_SERVER['HTTP_CLIENT_IP'];
- echo '<br>';
- echo $_SERVER['HTTP_X_FORWARDED_FOR'];
- echo '<br>';
- echo $_SERVER['REMOTE_ADDR'];
- //POST数据
- echo '<hr>[POST]<br><pre>';
- var_dump($_POST);
- echo '</pre>';
例子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.phpfensi.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');
即可.
Tags: curl伪造 php伪造IP
推荐文章
热门文章
最新评论文章
- 写给考虑创业的年轻程序员(10)
- PHP新手上路(一)(7)
- 惹恼程序员的十件事(5)
- PHP邮件发送例子,已测试成功(5)
- 致初学者:PHP比ASP优秀的七个理由(4)
- PHP会被淘汰吗?(4)
- PHP新手上路(四)(4)
- 如何去学习PHP?(2)
- 简单入门级php分页代码(2)
- php中邮箱email 电话等格式的验证(2)