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 相关文章推荐
人尽可用的Windows技巧小贴士之下篇
Mar 22 PHP
PHP生成带有雪花背景的验证码
Sep 28 PHP
PHP mail 通过Windows的SMTP发送邮件失败的解决方案
May 27 PHP
php知道与问问的采集插件代码
Oct 12 PHP
php中smarty模板条件判断用法实例
Jun 11 PHP
php三元运算符知识汇总
Jul 02 PHP
php实现爬取和分析知乎用户数据
Jan 26 PHP
thinkPHP自动验证、自动添加及表单错误问题分析
Oct 17 PHP
PHP实现添加购物车功能
Mar 06 PHP
PHP简单实现正则匹配省市区的方法
Apr 13 PHP
PHP封装的mysqli数据库操作类示例
Feb 16 PHP
thinkPHP事务操作简单案例分析
Oct 17 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
如何过滤高亮显示非法字符
2006/10/09 PHP
PHP面向对象编程快速入门
2006/10/09 PHP
PHP统计二维数组元素个数的方法
2013/11/12 PHP
PHP获取当前完整URL地址的函数
2014/12/21 PHP
在WordPress中使用wp-cron插件来设置定时任务
2015/12/10 PHP
php实现的简单多进程服务器类完整示例
2020/02/01 PHP
Aster vs KG BO3 第二场2.18
2021/03/10 DOTA
JSON JQUERY模板实现说明
2010/07/03 Javascript
在jQuery中使用$而避免跟其它库产生冲突的方法
2015/08/13 Javascript
jQuery实现给input绑定回车事件的方法
2017/02/09 Javascript
Bootstrap笔记之缩略图、警告框实例详解
2017/03/09 Javascript
jQuery Validate表单验证插件实现代码
2017/06/08 jQuery
Vue-router 类似Vuex实现组件化开发的示例
2017/09/15 Javascript
JS中常用的消息框总结
2018/02/24 Javascript
javascript性能优化之分时函数的介绍
2018/03/28 Javascript
JS实现点击下拉列表文本框中出现对应的网址,点击跳转按钮实现跳转
2019/11/25 Javascript
python使用pil生成图片验证码的方法
2015/05/08 Python
python函数装饰器用法实例详解
2015/06/04 Python
Python字符串拼接的几种方法整理
2017/08/02 Python
django基础学习之send_mail功能
2019/08/07 Python
python使用matplotlib绘制雷达图
2019/10/18 Python
使用Python+selenium实现第一个自动化测试脚本
2020/03/17 Python
canvas绘制图片drawImage使用方法
2020/09/15 HTML / CSS
非洲NO.1网上商店:Jumia肯尼亚
2016/08/18 全球购物
教师实习的自我鉴定
2013/10/26 职场文书
公司年会演讲稿范文
2014/01/11 职场文书
班级聚会策划书
2014/01/16 职场文书
青年志愿者事迹材料
2014/02/07 职场文书
弘扬雷锋精神活动演讲稿
2014/03/04 职场文书
公证委托书模板
2014/04/03 职场文书
小学感恩教育活动总结
2014/07/07 职场文书
年度优秀员工获奖感言
2014/08/15 职场文书
实习护士自荐信
2015/03/25 职场文书
培训学校2015年度工作总结
2015/07/20 职场文书
Oracle笔记
2021/04/05 Oracle
Python一些基本的图像操作和处理总结
2021/06/23 Python