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递归返回值时出现的问题解决办法
Feb 19 PHP
php格式化日期和时间格式化示例分享
Feb 24 PHP
Thinkphp使用mongodb数据库实现多条件查询方法
Jun 26 PHP
PHP文件上传判断file是否己选择上传文件的方法
Nov 10 PHP
浅谈php优化需要注意的地方
Nov 27 PHP
ThinkPHP入口文件设置及相关注意事项分析
Dec 05 PHP
php使用socket post数据到其它web服务器的方法
Jun 02 PHP
PHP中使用substr()截取字符串出现中文乱码问题该怎么办
Oct 21 PHP
在WordPress中使用wp-cron插件来设置定时任务
Dec 10 PHP
PDO::errorInfo讲解
Jan 28 PHP
PHP+Ajax简单get验证操作示例
Mar 02 PHP
PHP设计模式概论【概念、分类、原则等】
May 01 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实现数组按拼音顺序排序的方法
2017/05/03 PHP
Javascript-Mozilla和IE中的一个函数直接量的问题分析
2007/08/12 Javascript
基于jquery.Jcrop的头像编辑器
2010/03/01 Javascript
JavaScript 学习笔记之操作符(续)
2015/01/14 Javascript
javascript实现仿IE顶部的可关闭警告条
2015/05/05 Javascript
Jsonp 关键字详解及json和jsonp的区别,ajax和jsonp的区别
2015/12/30 Javascript
jQuery实现二级下拉菜单效果
2016/01/05 Javascript
深入理解关于javascript中apply()和call()方法的区别
2016/04/12 Javascript
js获取页面及个元素高度、宽度的代码
2016/04/26 Javascript
js使用原型对象(prototype)需要注意的地方
2017/08/28 Javascript
微信小程序 input输入及动态设置按钮的实现
2017/10/27 Javascript
jQuery实现的卷帘门滑入滑出效果【案例】
2019/02/18 jQuery
vue-cli 3 全局过滤器的实例代码详解
2019/06/03 Javascript
Vue3 中的数据侦测的实现
2019/10/09 Javascript
[00:17]DOTA2荣耀之路5:It’s a disastah!
2018/05/28 DOTA
python检查指定文件是否存在的方法
2015/07/06 Python
Python实现对象转换为xml的方法示例
2017/06/08 Python
Python中字符串List按照长度排序
2019/07/01 Python
python3 打印输出字典中特定的某个key的方法示例
2019/07/06 Python
Django 响应数据response的返回源码详解
2019/08/06 Python
Python:合并两个numpy矩阵的实现
2019/12/02 Python
Python编程快速上手——strip()函数的正则表达式实现方法分析
2020/02/29 Python
利用 PyCharm 实现本地代码和远端的实时同步功能
2020/03/23 Python
更新升级python和pip版本后不生效的问题解决
2020/04/17 Python
如何写python的配置文件
2020/06/07 Python
任意一块网页内容实现“活”的背景(目前火狐浏览器专有)
2014/05/07 HTML / CSS
Html5 video标签视频的最佳实践
2020/02/26 HTML / CSS
印尼最大的婴儿用品购物网站:Orami
2017/09/28 全球购物
融资租赁计划书
2014/04/29 职场文书
高中综合实践活动总结
2014/07/07 职场文书
委托书的格式
2014/08/01 职场文书
毕业生实习证明
2014/09/19 职场文书
十八大标语口号
2014/10/09 职场文书
2015中秋节慰问信范文
2015/03/23 职场文书
员工加薪申请报告
2015/05/15 职场文书
windows server 2012安装FTP并配置被动模式指定开放端口
2022/06/10 Servers