php curl 伪造IP来源的实例代码


Posted in PHP onNovember 01, 2012

curl发出请求的文件fake_ip.php:
代码

<?php 
$ch = curl_init(); 
$url = "http://localhost/target_ip.php"; 
$header = array( 
'CLIENT-IP:58.68.44.61', 
'X-FORWARDED-FOR:58.68.44.61', 
); 
curl_setopt($ch, CURLOPT_URL, $url); 
curl_setopt($ch, CURLOPT_HTTPHEADER, $header); 
curl_setopt($ch, CURLOPT_RETURNTRANSFER,true); 
$page_content = curl_exec($ch); 
curl_close($ch); 
echo $page_content; 
?>

请求的目标文件target_ip.php:
<?php 
echo getenv('HTTP_CLIENT_IP'); 
echo getenv('HTTP_X_FORWARDED_FOR'); 
echo getenv('REMOTE_ADDR'); 
?>

目标文件target_ip里面的IP打印顺序是目前很多开源系统的IP获取顺序
访问fake_ip.php,看到结果:
58.68.44.61
58.68.44.61
127.0.0.1
实例
CURL确实很强悍,可以伪造IP和来源。
1.php 请求 2.php 。

1.php代码:

$ch = curl_init(); 
curl_setopt($ch, CURLOPT_URL, "http://localhost/2.php"); 
curl_setopt($ch, CURLOPT_HTTPHEADER, array('X-FORWARDED-FOR:8.8.8.8', 'CLIENT-IP:8.8.8.8')); //构造IP 
curl_setopt($ch, CURLOPT_REFERER, "https://3water.com/ "); //构造来路 
curl_setopt($ch, CURLOPT_HEADER, 1); 
$out = curl_exec($ch); 
curl_close($ch);

2.php代码如下:

function getClientIp() { 
if (!empty($_SERVER["HTTP_CLIENT_IP"])) 
$ip = $_SERVER["HTTP_CLIENT_IP"]; 
else if (!empty($_SERVER["HTTP_X_FORWARDED_FOR"])) 
$ip = $_SERVER["HTTP_X_FORWARDED_FOR"]; 
else if (!empty($_SERVER["REMOTE_ADDR"])) 
$ip = $_SERVER["REMOTE_ADDR"]; 
else 
$ip = "err"; 
return $ip; 
} 
echo "IP: " . getClientIp() . ""; 
echo "referer: " . $_SERVER["HTTP_REFERER"];

伪造成功,这是不是给“刷票”的朋友提供了很好的换IP的方案
PHP 相关文章推荐
php 信息采集程序代码
Mar 17 PHP
PHP 程序员的调试技术小结
Nov 15 PHP
完美解决PHP中文乱码
Nov 26 PHP
关于使用coreseek并为其做分页的介绍
Jun 21 PHP
解决Codeigniter不能上传rar和zip压缩包问题
Mar 07 PHP
兼容PHP和Java的des加密解密代码分享
Jun 26 PHP
完美的2个php检测字符串是否是utf-8编码函数分享
Jul 28 PHP
php中file_get_content 和curl以及fopen 效率分析
Sep 19 PHP
php实现短信发送代码
Jul 05 PHP
php开发微信支付获取用户地址
Oct 04 PHP
PHP下载远程图片并保存到本地方法总结
Jan 22 PHP
PHP strip_tags保留多个HTML标签的方法
May 22 PHP
php中将指针移动到数据集初始位置的实现代码[mysql_data_seek]
Nov 01 #PHP
php eval函数用法 PHP中eval()函数小技巧
Oct 31 #PHP
php eval函数用法总结
Oct 31 #PHP
PHP5下$_SERVER变量不再受magic_quotes_gpc保护的弥补方法
Oct 31 #PHP
php图片加中文水印实现代码分享
Oct 31 #PHP
php中防止恶意刷新页面的代码小结
Oct 31 #PHP
利用PHP生成静态HTML文档的原理
Oct 29 #PHP
You might like
php 代码优化之经典示例
2011/03/24 PHP
PHP下获取上个月、下个月、本月的日期(strtotime,date)
2014/02/02 PHP
浅析ThinkPHP的模板输出功能
2014/07/01 PHP
php数组生成html下拉列表的方法
2015/07/20 PHP
最短的IE判断代码
2011/03/13 Javascript
探讨jQuery的ajax使用场景(c#)
2013/12/03 Javascript
js中的时间转换—毫秒转换成日期时间的示例代码
2014/01/26 Javascript
node.js中的querystring.unescape方法使用说明
2014/12/10 Javascript
JS实现点击文字对应DIV层不停闪动效果的方法
2015/03/02 Javascript
JS返回iframe中frameBorder属性值的方法
2015/04/01 Javascript
Javascript vue.js表格分页,ajax异步加载数据
2016/10/24 Javascript
AngularJS自定义控件实例详解
2016/12/13 Javascript
JSON中key动态设置及JSON.parse和JSON.stringify()的区别
2016/12/29 Javascript
JavaScript实现自定义媒体播放器方法介绍
2017/01/03 Javascript
bootstrap常用组件之头部导航实现代码
2017/04/20 Javascript
Vue如何引入远程JS文件
2017/04/20 Javascript
Vue报错:Uncaught TypeError: Cannot assign to read only property’exports‘ of object’#‘的解决方法
2017/06/17 Javascript
Vue表单demo v-model双向绑定问题
2018/06/29 Javascript
python实现通过pil模块对图片格式进行转换的方法
2015/03/24 Python
对numpy 数组和矩阵的乘法的进一步理解
2018/04/04 Python
Python实现求解括号匹配问题的方法
2018/04/17 Python
Python3.5基础之NumPy模块的使用图文与实例详解
2019/04/24 Python
mac系统下Redis安装和使用步骤详解
2019/07/09 Python
python爬虫 爬取超清壁纸代码实例
2019/08/16 Python
python银行系统实现源码
2019/10/25 Python
Python大数据之从网页上爬取数据的方法详解
2019/11/16 Python
关于ZeroMQ 三种模式python3实现方式
2019/12/23 Python
俄罗斯披萨、寿司和面食送货到家服务:2 Берега
2019/12/15 全球购物
自考生毕业自我鉴定
2013/10/10 职场文书
办公室岗位职责
2014/02/12 职场文书
党员干部2014全国两会学习心得体会
2014/03/10 职场文书
班级学习计划书
2014/04/27 职场文书
音乐教师个人总结
2015/02/06 职场文书
2015年团支书工作总结
2015/04/03 职场文书
农村党员干部承诺书
2015/05/04 职场文书
Python中可变和不可变对象的深入讲解
2021/08/02 Python