PHP curl伪造IP地址和header信息代码实例


Posted in PHP onApril 27, 2015

curl虽然功能强大,但是只能伪造$_SERVER["HTTP_X_FORWARDED_FOR"],对于大多数IP地址检测程序来说,$_SERVER["REMOTE_ADDR"]很难被伪造:

首先是client.php的代码

$headers['CLIENT-IP'] = '202.103.229.40';  

$headers['X-FORWARDED-FOR'] = '202.103.229.40'; 

 

$headerArr = array();  

foreach( $headers as $n => $v ) {  

    $headerArr[] = $n .':' . $v;   

}

 

ob_start();

$ch = curl_init();

curl_setopt ($ch, CURLOPT_URL, "http://localhost/curl/server.php");

curl_setopt ($ch, CURLOPT_HTTPHEADER , $headerArr );  //构造IP

curl_setopt ($ch, CURLOPT_REFERER, "http://www.163.com/ ");   //构造来路

curl_setopt( $ch, CURLOPT_HEADER, 1);

 

curl_exec($ch);

curl_close ($ch);

$out = ob_get_contents();

ob_clean();

 

echo $out;

然后是server.php

function GetIP(){

    if(!emptyempty($_SERVER["HTTP_CLIENT_IP"]))

        $cip = $_SERVER["HTTP_CLIENT_IP"];

    else if(!emptyempty($_SERVER["HTTP_X_FORWARDED_FOR"]))

        $cip = $_SERVER["HTTP_X_FORWARDED_FOR"];

    else if(!emptyempty($_SERVER["REMOTE_ADDR"]))

        $cip = $_SERVER["REMOTE_ADDR"];

    else

    $cip = "无法获取!";

    return $cip;

}

echo "<br>访问IP: ".GetIP()."<br>";

echo "<br>访问来路: ".$_SERVER["HTTP_REFERER"];
PHP 相关文章推荐
图书管理程序(二)
Oct 09 PHP
动态新闻发布的实现及其技巧
Oct 09 PHP
PHP中的日期处理方法集锦
Jan 02 PHP
Php图像处理类代码分享
Jan 19 PHP
PHP中call_user_func_array()函数的用法演示
Feb 05 PHP
PHP设计模式之解释器模式的深入解析
Jun 13 PHP
php找出指定范围内回文数且平方根也是回文数的方法
Mar 23 PHP
PHP使用mkdir创建多级目录的方法
Dec 22 PHP
php使用Jpgraph创建3D饼形图效果示例
Feb 15 PHP
Yii框架实现多数据库配置和操作的方法
May 25 PHP
PHP attributes()函数讲解
Feb 03 PHP
ThinkPHP框架整合微信支付之刷卡模式图文详解
Apr 10 PHP
JavaScript实现滚动栏效果的方法
Apr 27 #PHP
php curl 上传文件代码实例
Apr 27 #PHP
php把大写命名转换成下划线分割命名
Apr 27 #PHP
PHP加密解密字符串汇总
Apr 26 #PHP
php开发中的页面跳转方法总结
Apr 26 #PHP
如何使用jQuery+PHP+MySQL来实现一个在线测试项目
Apr 26 #PHP
PHP开启opcache提升代码性能
Apr 26 #PHP
You might like
Php获取金书网的书名的实现代码
2010/06/11 PHP
php 对输入信息的进行安全过滤的函数代码
2012/06/29 PHP
php 目录遍历、删除 函数的使用介绍
2013/04/28 PHP
PHP中使用php5-ffmpeg撷取视频图片实例
2015/01/07 PHP
php绘制圆形的方法
2015/01/24 PHP
Laravel5权限管理方法详解
2016/07/26 PHP
Laravel timestamps 设置为unix时间戳的方法
2019/10/11 PHP
Javascript客户端脚本的设计和应用
2006/08/21 Javascript
jQuery温习篇 强大的JQuery选择器
2010/04/24 Javascript
jQuery简单实现banner图片切换
2014/01/02 Javascript
Jquery修改页面标题title其它JS失效的解决方法
2014/10/31 Javascript
JS实现的生成随机数的4个函数分享
2015/02/11 Javascript
JS限制文本框只能输入数字和字母方法
2015/02/28 Javascript
14款经典网页图片和文字特效的jQuery插件-前端开发必备
2015/08/25 Javascript
JavaScript中字面量与函数的基本使用知识
2015/10/20 Javascript
jquery实现表单验证简单实例演示
2015/11/23 Javascript
详解AngularJS中module模块的导入导出
2015/12/10 Javascript
jQuery简单实现仿京东分类导航层效果
2016/06/07 Javascript
Angular事件之不同组件间传递数据的方法
2018/11/15 Javascript
[49:35]LGD vs OG 2018国际邀请赛淘汰赛BO3 第二场 8.25
2018/08/29 DOTA
Python实现网站文件的全备份和差异备份
2014/11/30 Python
Python通过DOM和SAX方式解析XML的应用实例分享
2015/11/16 Python
python如何通过protobuf实现rpc
2016/03/06 Python
详谈Python中列表list,元祖tuple和numpy中的array区别
2018/04/18 Python
python使用sklearn实现决策树的方法示例
2019/09/12 Python
如何基于Python + requests实现发送HTTP请求
2020/01/13 Python
python 将html转换为pdf的几种方法
2020/12/29 Python
如何用用Python将地址标记在地图上
2021/02/07 Python
西铁城美国官方网站:Citizen Watch美国
2019/11/08 全球购物
岗位职责的定义
2013/11/10 职场文书
职业生涯规划设计步骤
2014/01/12 职场文书
导游词之青岛崂山
2019/12/27 职场文书
刚学完怎么用Python实现定时任务,转头就跑去撩妹!
2021/06/05 Python
端午节将至,用Python爬取粽子数据并可视化,看看网友喜欢哪种粽子吧!
2021/06/11 Python
Python利用机器学习算法实现垃圾邮件的识别
2021/06/28 Python
Python实现Hash算法
2022/03/18 Python