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 相关文章推荐
优化PHP代码的53条建议
Mar 27 PHP
php allow_url_include的应用和解释
Apr 22 PHP
PHP 飞信好友免费短信API接口开源版
Jul 22 PHP
用 Composer构建自己的 PHP 框架之设计 MVC
Oct 30 PHP
PHP实现过滤掉非汉字字符只保留中文字符
Jun 04 PHP
46 个非常有用的 PHP 代码片段
Feb 16 PHP
Zend Studio使用技巧两则
Apr 01 PHP
用PHP将Unicode 转化为UTF-8的实现方法(推荐)
Feb 08 PHP
PHP实现深度优先搜索算法(DFS,Depth First Search)详解
Sep 16 PHP
php xhprof使用实例详解
Apr 15 PHP
PHP5.6.8连接SQL Server 2008 R2数据库常用技巧分析总结
May 06 PHP
解决php用mysql方式连接数据库出现Deprecated报错问题
Dec 25 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控制用户的浏览器--ob*函数的使用说明
2007/03/16 PHP
laravel 5.4中实现无限级分类的方法示例
2017/07/27 PHP
PHP利用百度ai实现文本和图片审核
2019/05/08 PHP
Aster vs KG BO3 第三场2.18
2021/03/10 DOTA
js location.replace与location.reload的区别
2010/09/08 Javascript
js获取location.href的参数实例代码
2013/08/02 Javascript
ECMAScript6块级作用域及新变量声明(let)
2015/06/12 Javascript
JS实现仿Windows7风格的网页右键菜单效果代码
2015/09/11 Javascript
jQuery插件实现静态HTML验证码校验
2015/11/06 Javascript
javascript+HTML5自定义元素播放焦点图动画
2016/02/21 Javascript
微信小程序之ES6与事项助手的功能实现
2016/11/30 Javascript
JS在浏览器中解析Base64编码图像
2017/02/09 Javascript
Nodejs 发送Post请求功能(发短信验证码例子)
2017/02/09 NodeJs
微信小程序实现鼠标拖动效果示例
2017/12/01 Javascript
JS排序算法之冒泡排序,选择排序与插入排序实例分析
2017/12/13 Javascript
jQuery滚动条美化插件nicescroll简单用法示例
2018/04/18 jQuery
详解用vue2.x版本+adminLTE开源框架搭建后台应用模版
2019/03/15 Javascript
微信小程序实现转盘抽奖
2020/09/21 Javascript
[06:24]DOTA2亚洲邀请赛小组赛第三日 TOP10精彩集锦
2015/02/01 DOTA
[01:58]DOTA2上海特级锦标赛现场采访:RTZ这个ID到底好不好
2016/03/25 DOTA
[40:56]2018DOTA2亚洲邀请赛 3.31 小组赛 A组 Liquid vs TNC
2018/04/01 DOTA
[41:21]夜魇凡尔赛茶话会 第三期02:看图识人
2021/03/11 DOTA
在IIS服务器上以CGI方式运行Python脚本的教程
2015/04/25 Python
python和bash统计CPU利用率的方法
2015/07/10 Python
Python中operator模块的操作符使用示例总结
2016/06/28 Python
python处理csv中的空值方法
2018/06/22 Python
详解Python 解压缩文件
2019/04/09 Python
python创建子类的方法分析
2019/11/28 Python
Adobe Html5 Extension开发初体验图文教程
2017/11/14 HTML / CSS
EVE LOM英国官网:全世界最好的洁面膏
2017/10/30 全球购物
解除劳动合同协议书
2014/04/14 职场文书
网站文案策划岗位职责
2015/04/14 职场文书
工作会议简报
2015/07/20 职场文书
感恩父母主题班会
2015/08/12 职场文书
关于EntityWrapper的in用法
2022/03/22 Java/Android
HTML页面中使两个div并排显示的实现
2022/05/15 HTML / CSS