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 cache类代码(php数据缓存类)
Apr 15 PHP
PHP5中虚函数的实现方法分享
Apr 20 PHP
php中修改浏览器的User-Agent来伪装你的浏览器和操作系统
Jul 29 PHP
ThinkPHP Mobile使用方法简明教程
Jun 18 PHP
PHP查找数值数组中不重复最大和最小的10个数的方法
Apr 20 PHP
给PHP开发者的编程指南 第一部分降低复杂程度
Jan 18 PHP
PHP的Yii框架中过滤器相关的使用总结
Mar 29 PHP
php实现按天数、星期、月份查询的搜索框
May 02 PHP
几行代码轻松实现PHP文件打包下载zip
Mar 01 PHP
PHP用户注册邮件激活账户的实现代码
May 31 PHP
PHP children()函数讲解
Feb 03 PHP
PHP利用缓存处理用户注册时的邮箱验证,成功后用户数据存入数据库操作示例
Dec 31 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/05/03 PHP
解析mysql left( right ) join使用on与where筛选的差异
2013/06/18 PHP
PHP 导出Excel示例分享
2014/08/18 PHP
php闭包中使用use声明变量的作用域实例分析
2018/08/09 PHP
关于laravel后台模板laravel-admin select框的使用详解
2019/10/03 PHP
IE6图片加载的一个BUG解决方法
2010/07/13 Javascript
jQuery遍历对象、数组、集合实例
2014/11/08 Javascript
使用jQuery简单实现模拟浏览器搜索功能
2014/12/21 Javascript
AngularJS转换响应内容
2016/01/27 Javascript
详解基于angular路由的requireJs按需加载js
2017/01/20 Javascript
js利用for in循环获取 一个对象的所有属性以及值的实例
2017/03/30 Javascript
深入理解Vue 单向数据流的原理
2017/11/09 Javascript
十分钟带你快速了解React16新特性
2017/11/10 Javascript
微信小程序实现红包雨功能
2018/07/11 Javascript
vue使用recorder.js实现录音功能
2019/11/22 Javascript
[43:57]Liquid vs Mineski 2019国际邀请赛小组赛 BO2 第二场 8.16
2019/08/19 DOTA
一篇文章入门Python生态系统(Python新手入门指导)
2015/12/11 Python
Python的mysql数据库的更新如何实现
2017/07/31 Python
Python 字符串换行的多种方式
2018/09/06 Python
浅谈pycharm出现卡顿的解决方法
2018/12/03 Python
pandas读取CSV文件时查看修改各列的数据类型格式
2019/07/07 Python
使用Django搭建一个基金模拟交易系统教程
2019/11/18 Python
Pytorch生成随机数Tensor的方法汇总
2020/09/09 Python
利用CSS的Sass预处理器(框架)来制作居中效果
2016/03/10 HTML / CSS
Html5页面在微信端的分享的实现方法
2018/08/30 HTML / CSS
英国在线花园中心:You Garden
2018/06/03 全球购物
金讯Java笔试题目
2013/06/18 面试题
大学本科毕业生求职信范文
2013/12/18 职场文书
文明班级建设方案
2014/05/15 职场文书
关于读书的演讲稿400字
2014/08/27 职场文书
关于随地扔垃圾的检讨书
2014/09/30 职场文书
化妆品促销活动总结
2015/05/07 职场文书
庆祝教师节主题班会
2015/08/17 职场文书
初中班级口号霸气押韵
2015/12/24 职场文书
毕业生自我鉴定范文
2019/05/13 职场文书
Spring整合Mybatis的全过程
2021/06/28 Java/Android