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 相关文章推荐
一个简单实现多条件查询的例子
Oct 09 PHP
整合了前面的PHP数据库连接类~~做成一个分页类!
Nov 25 PHP
PHP stristr() 函数(不区分大小写的字符串查找)
Jun 03 PHP
PHP中去除换行解决办法小结(PHP_EOL)
Nov 27 PHP
PHP设计模式之代理模式的深入解析
Jun 13 PHP
php递归创建目录的方法
Feb 02 PHP
php使用post数组的键值创建同名变量并赋值的方法
Apr 03 PHP
使用WordPress发送电子邮件的相关PHP函数用法解析
Dec 15 PHP
全面解析PHP验证码的实现原理 附php验证码小案例
Aug 17 PHP
PHP jQuery+Ajax结合写批量删除功能
May 19 PHP
Laravel框架在本地虚拟机快速安装的方法详解
Jun 11 PHP
PHP 对象接口简单实现方法示例
Apr 13 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获取文件行数的方法
2015/06/10 PHP
php采集神器cURL使用方法详解
2016/02/19 PHP
Laravel中注册Facades的步骤详解
2016/03/16 PHP
微信支付扫码支付php版
2016/07/22 PHP
Js中获取frames中的元素示例代码
2013/07/30 Javascript
js 跳出页面的frameset框架示例介绍
2013/12/23 Javascript
javascript中通过arguments参数伪装方法重载
2014/10/08 Javascript
使用JavaScript+canvas实现图片裁剪
2015/01/30 Javascript
面向切面编程(AOP)的理解
2015/05/01 Javascript
基于jquery实现日历签到功能
2020/09/11 Javascript
简单谈谈javascript中this的隐式绑定
2016/02/22 Javascript
微信小程序 loading(加载中提示框)实例
2016/10/28 Javascript
详解Angular2组件之间如何通信
2017/06/22 Javascript
Axios学习笔记之使用方法教程
2017/07/21 Javascript
基于JavaScript实现五子棋游戏
2020/08/26 Javascript
vue 中的keep-alive实例代码
2018/07/20 Javascript
jQuery+CSS实现的标签页效果示例【测试可用】
2018/08/14 jQuery
React 项目迁移 Webpack Babel7的实现
2018/09/12 Javascript
Javascript删除数组里的某个元素
2019/02/28 Javascript
antd table按表格里的日期去排序操作
2020/11/17 Javascript
Python同时向控制台和文件输出日志logging的方法
2015/05/26 Python
Python连接mysql数据库的正确姿势
2016/02/03 Python
python 自动去除空行的实例
2018/07/24 Python
python中正则表达式 re.findall 用法
2018/10/23 Python
Django跨域请求CSRF的方法示例
2018/11/11 Python
Pytest测试框架基本使用方法详解
2020/11/25 Python
Html5 Geolocation获取地理位置信息实例
2016/12/09 HTML / CSS
新西兰购物网站:TheMarket NZ
2020/09/19 全球购物
中专自荐信
2013/10/13 职场文书
采购员的工作职责
2013/12/26 职场文书
记帐员岗位责任制
2014/02/08 职场文书
彩色的翅膀教学反思
2014/04/25 职场文书
幼儿教师演讲稿
2014/05/06 职场文书
经营理念口号
2014/06/21 职场文书
2015年出纳工作总结与计划
2015/05/18 职场文书
MySQL 亿级数据导入导出及迁移笔记
2021/06/18 MySQL