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实现多服务器共享SESSION数据的方法
Mar 16 PHP
IP攻击升级,程序改进以对付新的攻击
Nov 23 PHP
PHP中date()日期函数有关参数整理
Jul 19 PHP
PHP的博客ping服务代码
Feb 04 PHP
php解决抢购秒杀抽奖等大流量并发入库导致的库存负数的问题
Jun 19 PHP
两千行代码的PHP学习笔记汇总
Oct 05 PHP
PHP自定session保存路径及删除、注销与写入的方法
Nov 18 PHP
php删除左端与右端空格的方法
Nov 29 PHP
php curl请求信息和返回信息设置代码实例
Apr 27 PHP
win7系统配置php+Apache+mysql环境的方法
Aug 21 PHP
CodeIgniter框架常见用法工作总结
Mar 16 PHP
一个实用的php验证码类
Jul 06 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 urlencode()与urldecode()函数字符编码原理详解
2011/12/06 PHP
php获取从百度搜索进入网站的关键词的详细代码
2014/01/08 PHP
PHP魔术方法__GET、__SET使用实例
2014/11/25 PHP
WordPress主题中添加文章列表页页码导航的PHP代码实例
2015/12/22 PHP
基于Jquery的标签智能验证实现代码
2010/12/27 Javascript
Javascript insertAfter() 实现函数代码
2011/10/12 Javascript
服务器端的JavaScript脚本 Node.js 使用入门
2012/03/07 Javascript
Mac地址验证的javascript代码
2013/11/09 Javascript
Bootstrap树形菜单插件TreeView.js使用方法详解
2016/11/01 Javascript
实现easyui的datagrid导出为excel的示例代码
2016/11/10 Javascript
Javascript this 函数深入详解
2016/12/13 Javascript
hammer.js实现图片手势放大效果
2017/08/29 Javascript
原生js封装添加class,删除class的实例
2017/11/06 Javascript
vue实现提示保存后退出的方法
2018/03/15 Javascript
详解npm 配置项registry修改为淘宝镜像
2018/09/07 Javascript
详解vue-router传参的两种方式
2018/09/10 Javascript
微信小程序位置授权处理方法
2019/06/13 Javascript
JavaScript Canvas编写炫彩的网页时钟
2019/10/16 Javascript
不依任何赖第三方,单纯用vue实现Tree 树形控件的案例
2020/09/21 Javascript
如何实现vue的tree组件
2020/12/03 Vue.js
[05:15]DOTA2英雄梦之声_第16期_灰烬之灵
2014/06/21 DOTA
python实现定时同步本机与北京时间的方法
2015/03/24 Python
python实现的jpg格式图片修复代码
2015/04/21 Python
深入浅析python定时杀进程
2016/06/06 Python
不同版本中Python matplotlib.pyplot.draw()界面绘制异常问题的解决
2017/09/24 Python
python验证码识别实例代码
2018/02/03 Python
python3 实现对图片进行局部切割的方法
2018/12/05 Python
解决Jupyter因卸载重装导致的问题修复
2020/04/10 Python
HTML5如何使用SVG的方法示例
2019/01/11 HTML / CSS
中东奢侈品购物网站:Ounass
2020/09/02 全球购物
Delphi笔试题
2016/11/14 面试题
如何进行有效的自我评价
2013/09/27 职场文书
入团者的自我评价分享
2013/12/02 职场文书
2015年党员岗位承诺书
2015/04/27 职场文书
导游词之太湖
2019/10/08 职场文书
numpy数据类型dtype转换实现
2021/04/24 Python