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字符编码问题之GB2312 VS UTF-8解决方法
Jun 23 PHP
利用PHP+JS实现搜索自动提示(实例)
Jun 09 PHP
实用的PHP带公钥加密类分享(每次加密结果都不一样哦)
Aug 20 PHP
smarty简单分页的实现方法
Oct 27 PHP
php中解析带中文字符的url函数分享
Jan 20 PHP
php计算一个文件大小的方法
Mar 30 PHP
php实现阿拉伯数字和罗马数字相互转换的方法
Apr 17 PHP
php中foreach结合curl实现多线程的方法分析
Sep 22 PHP
PHP 实现从数据库导出到.csv文件方法
Jul 06 PHP
PHP基于rabbitmq操作类的生产者和消费者功能示例
Jun 16 PHP
Laravel 解决419错误 -ajax请求错误的问题(CSRF验证)
Oct 25 PHP
PHP 裁剪图片
Mar 09 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修改session_id示例代码
2014/01/08 PHP
PHP在网页中动态生成PDF文件详细教程
2014/07/05 PHP
php实现的Timer页面运行时间监测类
2014/09/24 PHP
完美解决Thinkphp3.2中插入相同数据的问题
2017/08/01 PHP
ajaxControlToolkit AutoCompleteExtender的用法
2008/10/30 Javascript
jquery CSS选择器笔记
2010/03/29 Javascript
让innerText在firefox火狐和IE浏览器都能用的写法
2011/05/14 Javascript
js替代copy(示例代码)
2013/11/27 Javascript
jquery实现点击消失的代码
2014/03/03 Javascript
jquery中post方法用法实例
2014/10/21 Javascript
node.js读取文件到字符串的方法
2015/06/29 Javascript
JavaScript禁止复制与粘贴的实现代码
2016/05/16 Javascript
JavaScript来实现打开链接页面的简单实例
2016/06/02 Javascript
Web程序员必备的7个JavaScript函数
2016/06/14 Javascript
Javascript类型系统之undefined和null浅析
2016/07/13 Javascript
Bootstrap整体框架之JavaScript插件架构
2016/12/15 Javascript
jQuery自定义图片上传插件实例代码
2017/04/04 jQuery
JavaScript实现简单评论功能
2017/08/17 Javascript
JS通过ajax + 多列布局 + 自动加载实现瀑布流效果
2019/05/30 Javascript
vue滚动tab跟随切换效果
2020/06/29 Javascript
python实用代码片段收集贴
2015/06/03 Python
Python模块文件结构代码详解
2018/02/03 Python
pygame游戏之旅 添加键盘按键的方法
2018/11/20 Python
python单向链表的基本实现与使用方法【定义、遍历、添加、删除、查找等】
2019/10/24 Python
Python图像阈值化处理及算法比对实例解析
2020/06/19 Python
python 最简单的实现适配器设计模式的示例
2020/06/30 Python
REISS英国官网:伦敦High Street最受欢迎品牌
2016/12/21 全球购物
含精油的天然有机化妆品:Indemne
2019/08/27 全球购物
如何利用cmp命令比较文件
2013/09/23 面试题
优秀毕业大学生推荐信
2013/11/13 职场文书
创伤外科专业推荐信范文
2013/11/19 职场文书
出国签证在职证明范本
2014/11/24 职场文书
工作表扬信
2015/01/17 职场文书
建议书格式
2015/02/04 职场文书
写好求职信的技巧解密
2019/05/14 职场文书
如何基于python实现单目三维重建详解
2022/06/25 Python