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+java实现自动新闻滚动窗口
Oct 09 PHP
使用数据库保存session的方法
Oct 09 PHP
PHP 获取MySQL数据库里所有表的实现代码
Jul 13 PHP
php正则表达式(regar expression)
Sep 10 PHP
php类常量的使用详解
Jun 08 PHP
PHP设计模式之命令模式的深入解析
Jun 13 PHP
关于js与php互相传值的介绍
Jun 25 PHP
PHP仿博客园 个人博客(1) 数据库与界面设计
Jul 05 PHP
php代码检查代理ip的有效性
Aug 19 PHP
Apache PHP MySql安装配置图文教程
Aug 27 PHP
Ubuntu VPS中wordpress网站打开时提示”建立数据库连接错误”的解决办法
Nov 03 PHP
Yii2 加载css、js 载静态资源的方法
Mar 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的宝库目录--PEAR
2006/10/09 PHP
一家之言的经验之谈php+mysql扎实个人基本功
2008/03/27 PHP
php中mysql操作buffer用法详解
2015/03/19 PHP
Laravel 5.3 学习笔记之 安装
2016/08/28 PHP
Laravel中批量赋值Mass-Assignment的真正含义详解
2017/09/29 PHP
PHP如何实现订单的延时处理详解
2017/12/30 PHP
解决Laravel5.2 Auth认证退出失效的问题
2019/10/14 PHP
php swoft框架实例用法
2020/12/22 PHP
翻译整理的jQuery使用查询手册
2007/03/07 Javascript
让浏览器非阻塞加载javascript的几种方法小结
2011/04/25 Javascript
jQuery插件的写法分享
2013/06/12 Javascript
jquery结婚电子请柬特效源码分享
2015/08/21 Javascript
JavaScript基本的输出和嵌入式写法教程
2015/10/20 Javascript
Vue 源码分析之 Observer实现过程
2018/03/29 Javascript
vue实现点击关注后及时更新列表功能
2018/06/26 Javascript
基于Vue+element-ui 的Table二次封装的实现
2018/07/20 Javascript
微信小程序自定义带价格显示日历效果
2018/12/29 Javascript
小程序如何定位所在城市及发起周边搜索
2020/02/11 Javascript
jquery实现手风琴案例
2020/05/04 jQuery
详解nginx配置vue h5 history去除#号
2020/11/09 Javascript
python交互式图形编程实例(一)
2017/11/17 Python
python dataframe 输出结果整行显示的方法
2018/06/14 Python
python3.4 将16进制转成字符串的实例
2019/06/12 Python
python使用配置文件过程详解
2019/12/28 Python
logging level级别介绍
2020/02/21 Python
基于canvas使用贝塞尔曲线平滑拟合折线段的方法
2018/01/10 HTML / CSS
Sofft鞋官网:世界知名鞋类品牌
2017/03/28 全球购物
香港时尚女装购物网站:ZAFUL
2017/07/19 全球购物
雅高酒店中国:Accorhotels.com China
2018/03/26 全球购物
硕士研究生自我鉴定
2013/11/08 职场文书
文明礼仪事迹材料
2014/01/09 职场文书
甜点店创业计划书
2014/01/27 职场文书
党校学习个人总结
2015/02/15 职场文书
Android中View.post和Handler.post的关系
2022/06/05 Java/Android
vue css 相对路径导入问题级踩坑记录
2022/06/05 Vue.js
Spring Cloud OAuth2实现自定义token返回格式
2022/06/25 Java/Android