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 相关文章推荐
建立动态的WML站点(二)
Oct 09 PHP
在php中判断一个请求是ajax请求还是普通请求的方法
Jun 28 PHP
php页面缓存ob系列函数介绍
Oct 18 PHP
PHP导航下拉菜单的实现如此简单
Sep 22 PHP
php 判断网页是否是utf8编码的方法
Jun 06 PHP
thinkphp四种url访问方式详解
Nov 28 PHP
php实现汉字验证码和算式验证码的方法
Mar 07 PHP
php5.4传引用时报错问题分析
Jan 22 PHP
浅谈php中的访问修饰符private、protected、public的作用范围
Nov 20 PHP
laravel 获取某个查询的查询SQL语句方法
Oct 12 PHP
浅谈Laravel模板实体转义带来的坑
Oct 22 PHP
php判断某个方法是否存在函数function_exists (),method_exists()与is_callable()区别与用法解析
Apr 20 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中使用sleep造成mysql读取失败的案例和解决方法
2014/08/21 PHP
THINKPHP5.1 Config的配置与获取详解
2020/06/08 PHP
JQuery 常用方法基础教程
2009/02/06 Javascript
jquery select下拉框操作的一些说明
2010/04/02 Javascript
JavaScript中的getTimezoneOffset()方法使用详解
2015/06/10 Javascript
跟我学习javascript的异步脚本加载
2015/11/20 Javascript
Javascript基础_标记文字的实现方法
2016/06/14 Javascript
JavaScript基于原型链的继承
2016/06/22 Javascript
js窗口震动小程序分享
2016/11/28 Javascript
利用纯JS实现像素逐渐显示的方法示例
2017/08/14 Javascript
在knockoutjs 上自己实现的flux(实例讲解)
2017/12/18 Javascript
微信小程序图片轮播组件gallery slider使用方法详解
2018/01/31 Javascript
BootStrap table实现表格行拖拽效果
2018/12/01 Javascript
jQuery实现的中英文切换功能示例
2019/01/11 jQuery
使用watch在微信小程序中实现全局状态共享
2019/06/03 Javascript
vue created钩子函数与mounted钩子函数的用法区别
2020/11/05 Javascript
[05:09]DOTA2-DPC中国联赛2月22日Recap集锦
2021/03/11 DOTA
python数据结构之列表和元组的详解
2017/09/23 Python
python中时间、日期、时间戳的转换的实现方法
2019/07/06 Python
基于Python实现扑克牌面试题
2019/12/11 Python
pytorch中nn.Conv1d的用法详解
2019/12/31 Python
Django之form组件自动校验数据实现
2020/01/14 Python
在jupyter notebook 添加 conda 环境的操作详解
2020/04/10 Python
Python函数参数分类原理详解
2020/05/28 Python
基于CSS3实现的漂亮Menu菜单效果代码
2015/09/10 HTML / CSS
html5应用缓存_动力节点Java学院整理
2017/07/13 HTML / CSS
H&M美国官网:欧洲最大的服饰零售商
2016/09/07 全球购物
friso美素佳儿官方海外旗舰店:荷兰原产原罐
2017/07/03 全球购物
SQL Server的固定数据库角色都有哪些?对应的服务器权限有哪些?
2013/05/18 面试题
应届毕业生个人自我评价
2013/09/20 职场文书
师范生自荐信
2013/10/27 职场文书
就业自我评价
2014/02/04 职场文书
学习雷锋标语
2014/06/25 职场文书
股指期货心得体会
2014/09/13 职场文书
关于对大人不礼貌的检讨书
2014/09/29 职场文书
2016年小学“我们的节日·中秋节”活动总结
2016/04/05 职场文书