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 相关文章推荐
NOT NULL 和NULL
Jan 15 PHP
Http 1.1 Etag 与 Last-Modified提高php效率
Jan 10 PHP
一些使用频率比较高的php函数
Oct 03 PHP
支持中文的php加密解密类代码
Nov 27 PHP
php类常量的使用详解
Jun 08 PHP
PHP在不同页面间传递Json数据示例代码
Jun 08 PHP
php实现下载限制速度示例分享
Feb 13 PHP
PHP调用JAVA的WebService简单实例
Mar 11 PHP
PHP代码维护,重构变困难的4种原因分析
Jan 25 PHP
php打开本地exe程序,js打开本地exe应用程序,并传递相关参数方法
Feb 06 PHP
解决laravel中日志权限莫名变成了root的问题
Oct 17 PHP
Laravel5.5+ 使用API Resources快速输出自定义JSON方法详解
Apr 06 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采集文章中的图片获取替换到本地(实现代码)
2013/07/08 PHP
php比较两个绝对时间的大小
2014/01/31 PHP
php中的strpos使用示例
2014/02/27 PHP
php中get_meta_tags()、CURL与user-agent用法分析
2014/12/16 PHP
php计算两个文件相对路径的方法
2015/03/14 PHP
php操作redis数据库常见方法实例总结
2020/02/20 PHP
js 操作select相关方法函数
2009/12/06 Javascript
JavaScript 弹出窗体点击按钮返回选择数据的实现
2010/04/01 Javascript
JavaScript 放大镜 移动镜片效果代码
2011/05/09 Javascript
JS读取XML文件示例代码
2013/11/15 Javascript
Jquery创建层显示标题和内容且随鼠标移动而移动
2014/01/26 Javascript
今天抽时间给大家整理jquery和ajax的相关知识
2015/11/17 Javascript
JavaScript类的写法
2016/09/17 Javascript
原生JS实现层叠轮播图
2017/05/17 Javascript
基于vue+canvas的excel-like组件实例详解
2017/11/28 Javascript
30分钟快速实现小程序语音识别功能
2018/11/27 Javascript
[46:49]完美世界DOTA2联赛PWL S3 access vs Rebirth 第二场 12.19
2020/12/24 DOTA
python使用matplotlib绘制折线图教程
2017/02/08 Python
对pandas replace函数的使用方法小结
2018/05/18 Python
Python中的上下文管理器相关知识详解
2019/09/19 Python
Python的pygame安装教程详解
2020/02/10 Python
tensorflow dataset.shuffle、dataset.batch、dataset.repeat顺序区别详解
2020/06/03 Python
戴森台湾线上商城:Dyson Taiwan
2018/05/21 全球购物
澳大利亚买卖正宗二手奢侈品交易平台:Luxe.It.Fwd
2019/10/16 全球购物
手工制作的意大利皮革运动鞋:KOIO
2020/01/05 全球购物
2019年.net常见面试问题
2012/02/12 面试题
关于赌博的检讨书
2014/01/24 职场文书
乡镇信息公开实施方案
2014/03/23 职场文书
生物技术专业求职信
2014/06/10 职场文书
建筑工地标语
2014/06/18 职场文书
我们的节日端午节活动总结
2015/02/11 职场文书
学校禁毒宣传活动总结
2015/05/08 职场文书
会议主持词开场白
2015/05/28 职场文书
Python OpenCV 图像平移的实现示例
2021/06/04 Python
正则表达式基础与常用验证表达式
2022/06/16 Javascript
基于Redission的分布式锁实战
2022/08/14 Redis