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 parse_url 一个好用的函数
Oct 03 PHP
php 各种应用乱码问题的解决方法
May 09 PHP
PHP之数组学习
May 29 PHP
PHP的password_hash()使用实例
Mar 17 PHP
PHP小技巧之函数重载
Jun 02 PHP
PHP网页游戏学习之Xnova(ogame)源码解读(七)
Jun 23 PHP
PHP导出Excel实例讲解
Jan 24 PHP
php判断str字符串是否是xml格式数据的方法示例
Jul 26 PHP
PHP时间处理类操作示例
Sep 05 PHP
PHP随机数函数rand()与mt_rand()的讲解
Mar 25 PHP
Laravel框架Eloquent ORM删除数据操作示例
Dec 03 PHP
php png失真的原因及解决办法
Nov 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
PHP的一个完整SMTP类(解决邮件服务器需要验证时的问题)
2006/10/09 PHP
PHP针对常规模板引擎中与CSS/JSON冲突的解决方法
2014/08/19 PHP
php实现的树形结构数据存取类实例
2014/11/29 PHP
PHP中浮点数计算比较及取整不准确的解决方法
2015/01/09 PHP
使用jscript实现二进制读写脚本代码
2008/06/09 Javascript
js保留小数点后几位的写法
2014/01/03 Javascript
jquery浏览器滚动加载技术实现方案
2014/06/03 Javascript
jQuery实现数字加减效果汇总
2014/12/16 Javascript
jQuery中DOM树操作之复制元素的方法
2015/01/23 Javascript
使用JavaScript制作一个简单的计数器的方法
2015/07/07 Javascript
ionic由于使用了header和subheader导致被遮挡的问题的两种解决方法
2016/09/22 Javascript
JS前端加密算法示例
2016/12/22 Javascript
Typescript 中的 interface 和 type 到底有什么区别详解
2019/06/18 Javascript
JavaScript 变量,数据类型基础实例详解【变量、字符串、数组、对象等】
2020/01/04 Javascript
javascript中innerHTML 获取或替换html内容的实现代码
2020/03/17 Javascript
[01:03:41]完美世界DOTA2联赛PWL S3 DLG vs Phoenix 第一场 12.17
2020/12/19 DOTA
利用Python画ROC曲线和AUC值计算
2016/09/19 Python
Python 稀疏矩阵-sparse 存储和转换
2017/05/27 Python
利用python获取Ping结果示例代码
2017/07/06 Python
Python yield与实现方法代码分析
2018/02/06 Python
如何在python字符串中输入纯粹的{}
2018/08/22 Python
Python3.6使用tesseract-ocr的正确方法
2018/10/17 Python
Python找出微信上删除你好友的人脚本写法
2018/11/01 Python
python3 map函数和filter函数详解
2019/08/26 Python
wxPython实现文本框基础组件
2019/11/18 Python
python GUI库图形界面开发之PyQt5信号与槽基本操作
2020/02/25 Python
浅谈在JupyterNotebook下导入自己的模块的问题
2020/04/16 Python
用Python写一个for循环的例子
2016/07/19 面试题
计算机专业自荐信
2013/10/14 职场文书
预备党员政审材料
2014/02/04 职场文书
老公保证书范文
2014/04/29 职场文书
管理提升方案
2014/06/04 职场文书
青春飞扬演讲稿
2014/09/11 职场文书
教师师德师风自我剖析材料
2014/09/29 职场文书
MySQL主从搭建(多主一从)的实现思路与步骤
2021/05/13 MySQL
「睡美人」爱洛公主粘土人开订
2022/03/22 日漫