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 相关文章推荐
模仿OSO的论坛(一)
Oct 09 PHP
Smarty模板快速入门
Jan 04 PHP
php 图像函数大举例(非原创)
Jun 20 PHP
一贴学会PHP 新手入门教程
Aug 03 PHP
解析smarty模板中类似for的功能实现
Jun 18 PHP
php合并js请求的例子
Nov 01 PHP
使用swoole扩展php websocket示例
Feb 13 PHP
php分页函数示例代码分享
Feb 24 PHP
Windows下的PHP 5.3.x安装 Zend Guard Loader教程
Sep 06 PHP
php可应用于面包屑导航的迭代寻找家谱树实现方法
Feb 02 PHP
PHP实现的链式队列结构示例
Sep 15 PHP
ThinkPHP3.2框架自带分页功能实现方法示例
May 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网上调查系统
2006/10/09 PHP
探讨php中header的用法详解
2013/06/07 PHP
非常实用的php弹出错误警告函数扩展性强
2014/01/17 PHP
jQuery timers计时器简单应用说明
2010/10/28 Javascript
javascript中的事件代理初探
2014/03/08 Javascript
瀑布流布局代码一例
2014/04/11 Javascript
jQuery学习笔记之jQuery构建函数的7种方法
2014/06/03 Javascript
jQuery实现的网页竖向菜单效果代码
2015/08/26 Javascript
jQuery实现html table行Tr的复制、删除、计算功能
2017/07/10 jQuery
JavaScript实现简单的双色球(实例讲解)
2017/07/31 Javascript
原生js的ajax和解决跨域的jsonp(实例讲解)
2017/10/16 Javascript
环形加载进度条封装(Vue插件版和原生js版)
2019/12/04 Javascript
[02:31]《DAC最前线》之选手酒店现场花絮
2015/01/30 DOTA
[01:00:14]DOTA2-DPC中国联赛 正赛 Ehome vs Elephant BO3 第二场 2月28日
2021/03/11 DOTA
python进阶教程之词典、字典、dict
2014/08/29 Python
python通过colorama模块在控制台输出彩色文字的方法
2015/03/19 Python
Python数据类型详解(二)列表
2016/05/08 Python
用tensorflow实现弹性网络回归算法
2018/01/09 Python
python3+PyQt5实现自定义流体混合窗口部件
2018/04/24 Python
pandas DataFrame实现几列数据合并成为新的一列方法
2018/06/08 Python
Python如何爬取实时变化的WebSocket数据的方法
2019/03/09 Python
pandas数据分组groupby()和统计函数agg()的使用
2021/03/04 Python
华为旗下电子商务平台:华为商城
2016/08/06 全球购物
美国生鲜及杂货电商:FreshDirect
2018/01/29 全球购物
ALDO英国官网:加拿大女鞋品牌
2018/02/19 全球购物
阿联酋航空假期:Emirates Holidays
2018/03/20 全球购物
JoJo Maman Bébé爱尔兰官网:英国最受欢迎的精品母婴品牌
2020/12/20 全球购物
好家长事迹材料
2014/01/23 职场文书
银行职员自我鉴定
2014/04/20 职场文书
岗位说明书范文
2014/05/07 职场文书
项目投资建议书
2014/05/16 职场文书
党员领导干部民主生活会批评与自我批评发言
2014/09/28 职场文书
银行委托书范本
2014/09/28 职场文书
爱心募捐通知范文
2015/04/27 职场文书
消防安全月活动总结
2015/05/08 职场文书
Redis 异步机制
2022/05/15 Redis