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使之能同时支持GIF和JPEG
Oct 09 PHP
使用bcompiler对PHP文件进行加密的代码
Aug 29 PHP
PHP中将ip地址转成十进制数的两种实用方法
Aug 15 PHP
ThinkPHP使用UTFWry地址库进行IP定位实例
Apr 01 PHP
ThinkPHP自动转义存储富文本编辑器内容导致读取出错的解决方法
Aug 08 PHP
微信公众平台消息接口校验与消息接口响应实例
Dec 23 PHP
php实现的简单美国商品税计算函数
Jul 13 PHP
PHP实现通过get方式识别用户发送邮件的方法
Jul 16 PHP
php 生成签名及验证签名详解
Oct 26 PHP
Yii2实现log输出到file及database的方法
Nov 12 PHP
ThinkPHP实现的rsa非对称加密类示例
May 29 PHP
PHP程序守护进程化实现方法详解
Jul 16 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快速url重写 更新版[需php 5.30以上]
2010/04/20 PHP
PHP程序员最常犯的11个MySQL错误小结
2010/11/20 PHP
php学习笔记 [预定义数组(超全局数组)]
2011/06/09 PHP
codeigniter使用技巧批量插入数据实例方法分享
2013/12/31 PHP
php不使用插件导出excel的简单方法
2014/03/04 PHP
解决CodeIgniter伪静态失效
2014/06/09 PHP
浅谈PHP检查数组中是否存在某个值 in_array 函数
2016/06/13 PHP
laravel5.2实现区分前后台用户登录的方法
2017/01/11 PHP
ExtJS Ext.MessageBox.alert()弹出对话框详解
2010/04/02 Javascript
jQuery 源码分析笔记(4) Ready函数
2011/06/02 Javascript
JQuery 返回布尔值Is()条件判断方法代码
2012/05/14 Javascript
JS的千分位算法实现思路
2013/07/31 Javascript
JS实现浏览器状态栏文字闪烁效果的方法
2015/10/27 Javascript
Javascript编程中几种继承方式比较分析
2015/11/28 Javascript
基于JavaScript的操作系统你听说过吗?
2016/01/28 Javascript
jQuery实现级联下拉框实战(5)
2017/02/08 Javascript
JS异步加载的三种实现方式
2017/03/16 Javascript
javascript实现获取一个日期段内每天不同的价格(计算入住总价格)
2018/02/05 Javascript
html2canvas属性和使用方法以及如何使用html2canvas将HTML内容写入Canvas生成图片
2020/01/12 Javascript
elementUI同一页面展示多个Dialog的实现
2020/11/19 Javascript
python3使用urllib示例取googletranslate(谷歌翻译)
2014/01/23 Python
Python对象体系深入分析
2014/10/28 Python
教你用Python脚本快速为iOS10生成图标和截屏
2016/09/22 Python
python使用RNN实现文本分类
2018/05/24 Python
python使用正则表达式来获取文件名的前缀方法
2018/10/21 Python
在python 中实现运行多条shell命令
2019/01/07 Python
python实现快速文件格式批量转换的方法
2020/10/16 Python
iframe与window.onload如何使用详解
2020/05/07 HTML / CSS
ALLSAINTS英国官网:伦敦新锐潮流品牌
2016/09/19 全球购物
美国精油公司:Plant Therapy
2019/05/17 全球购物
大学军训感言
2014/01/10 职场文书
扩大国家免疫规划实施方案
2014/03/21 职场文书
校园文明标语
2014/06/13 职场文书
物流管理专业推荐信
2014/09/06 职场文书
关于空气污染危害的感想
2015/08/11 职场文书
集英社今正式宣布 成立游戏公司“集英社Games”
2022/03/31 其他游戏