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 相关文章推荐
域名和cookie问题(域名后缀)
Oct 10 PHP
检查用户名是否已在mysql中存在的php写法
Jan 20 PHP
ThinkPHP实现二级循环读取的方法
Nov 03 PHP
php实现生成验证码实例分享
Apr 10 PHP
ThinkPHP连接Oracle数据库
Apr 22 PHP
php metaphone()函数及php localeconv() 函数实例解析
May 15 PHP
基于PHP实现用户注册登录功能
Oct 14 PHP
PHP数组操作简单案例分析
Oct 15 PHP
php微信公众平台开发(四)回复功能开发
Dec 06 PHP
PHP实现链表的定义与反转功能示例
Jun 09 PHP
Thinkphp5.0 框架的请求方式与响应方式分析
Oct 14 PHP
使用php的mail()函数实现发送邮件功能
Jun 03 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/06/23 PHP
php实现在服务器上创建目录的方法
2015/03/16 PHP
PHP实现简易图形计算器
2020/08/28 PHP
CSS中一些@规则的用法小结
2021/03/09 HTML / CSS
javascript 获取网页参数系统
2008/07/19 Javascript
jquery.validate分组验证代码
2011/03/17 Javascript
文字溢出实现溢出的部分再放入一个新生成的div中具体代码
2013/05/17 Javascript
javascript判断两个IP地址是否在同一个网段的实现思路
2013/12/13 Javascript
js调用iframe实现打印页面内容的方法
2014/03/04 Javascript
jQuery.holdReady()方法用法实例
2014/12/27 Javascript
详解JavaScript的Date对象(制作简易钟表)
2020/04/07 Javascript
Angular 路由route实例代码
2016/07/12 Javascript
实例详解jQuery的无new构建
2016/08/02 Javascript
JS简单实现无缝滚动效果实例
2016/08/24 Javascript
js实现各种复制到剪贴板的方法(分享)
2016/10/27 Javascript
AngularJS变量及过滤器Filter用法分析
2016/11/22 Javascript
Radio 单选JS动态添加的选项onchange事件无效的解决方法
2016/12/12 Javascript
vue实现的仿淘宝购物车功能详解
2019/01/27 Javascript
Python 第一步 hello world
2009/09/25 Python
python 定义给定初值或长度的list方法
2018/06/23 Python
基于django ManyToMany 使用的注意事项详解
2019/08/09 Python
python__name__原理及用法详解
2019/11/02 Python
html5组织文档结构_动力节点Java学院整理
2017/07/11 HTML / CSS
英国网上购买肉类网站:Great British Meat
2018/10/17 全球购物
英国最受欢迎的在线隐形眼镜商店:VisionDirect.co.uk
2018/12/06 全球购物
声明struct x1 { . . . }; 和typedef struct { . . . }x2;有什么不同
2012/06/02 面试题
行政前台岗位职责
2013/12/04 职场文书
十佳青年个人事迹材料
2014/01/28 职场文书
教育技术学专业职业规划书
2014/03/03 职场文书
2014年两会学习心得体会
2014/03/17 职场文书
期末学生评语大全
2014/04/24 职场文书
应聘销售主管的求职信
2014/04/26 职场文书
青春奉献演讲稿
2014/05/08 职场文书
雷峰塔导游词
2015/02/09 职场文书
SpringAop日志找不到方法的处理
2021/06/21 Java/Android
Golang 1.18 多模块Multi-Module工作区模式的新特性
2022/04/11 Golang