php 伪造HTTP_REFERER页面URL来源的三种方法


Posted in PHP onSeptember 22, 2016

php获取当前页面的前一个页面URL地址,即当前页面是从哪个页面链接过来的,可以使用$_SERVER['HTTP_REFERER'],但是这个来源页面的URL地址是可以被伪造和欺骗的,本文章向大家介绍伪造HTTP_REFERER页面URL的三种方法,需要的朋友可以参考一下。

$_SERVER['HTTP_REFERER']是php用来判断页面上级来源页面的一个超级变局变量了,我们可以使用$_SERVER['HTTP_REFERER']来判断是从哪个页面进入到此页面了,这样我们可以进行更好的跟踪了。

但是$_SERVER['HTTP_REFERER']也是可以被伪造欺骗的,有三种方法可以伪造和欺骗$_SERVER['HTTP_REFERER']

第一种方法:file_get_contents

$opt=array('http'=>array('header'=>"Referer: $refer")); 
$context=stream_context_create($opt); 
$file_contents = file_get_contents($url,false, $context);

file_get_contents中stream_context_create就伪造来源的重要参数了。 

第二种方法:CURL

$ch = curl_init(); 
curl_setopt ($ch, CURLOPT_URL, "http://www.manongjc.com"); 
curl_setopt ($ch, CURLOPT_REFERER, "http://www.manongjc.com"); 
curl_exec ($ch); 
curl_close ($ch);

参数http://www.manongjc.com就是伪造的URL地址。

第三种方法:fsockopen

$server = 'www.manongjc.com'; 
$host = 'www.manongjc.com'; 
$target = 'index.php'; 
$referer = 'http://www.manongjc.com/'; // Referer 
$port = 80; 
$fp = fsockopen($server, $port, $errno, $errstr, 30); 
if (!$fp){ 
 echo "$errstr ($errno)\n"; 
}else{ 
$out = "GET $target HTTP/1.1\r\n"; 
$out .= "Host: $host\r\n"; 
$out .= "Referer: $referer\r\n"; 
$out .= "Connection: Close\r\n\r\n"; 
fwrite($fp, $out); 
while (!feof($fp)){ 
echo fgets($fp, 128); 
} 
fclose($fp); 
}

上面三种方法中,第三种方法fsockopen性能和效果上是最好的,因此推荐大家使用第三种方法。

以上就是对PHP伪造HTTP_REFERER页面URL来源的资料整理,后续继续补充相关资料,谢谢大家对本站的支持!

PHP 相关文章推荐
从零开始 教你如何搭建Discuz!4.1论坛
Jul 07 PHP
不重新编译PHP为php增加openssl模块的方法
Jun 14 PHP
PHP生成不同颜色、不同大小的tag标签函数
Sep 23 PHP
那些年我们错过的魔术方法(Magic Methods)
Jan 14 PHP
php通过修改header强制图片下载的方法
Mar 24 PHP
PHP版本如何选择?应该使用哪个版本?
May 13 PHP
php中smarty变量修饰用法实例分析
Jun 11 PHP
Yii中CGridView禁止列排序的设置方法
Jul 12 PHP
PHP中in_array函数使用的问题与解决办法
Sep 11 PHP
php排序算法实例分析
Oct 17 PHP
PHP单例模式数据库连接类与页面静态化实现方法
Mar 20 PHP
PHP压缩图片功能的介绍
Mar 21 PHP
PHP mysqli_free_result()与mysqli_fetch_array()函数详解
Sep 21 #PHP
Yii2.0 Basic代码中路由链接被转义的处理方法
Sep 21 #PHP
php5.2的curl-bug 服务器被php进程卡死问题排查
Sep 19 #PHP
php支付宝在线支付接口开发教程
Sep 19 #PHP
iOS10推送通知开发教程
Sep 19 #PHP
PHP 中 DOMDocument保存xml时中文出现乱码问题的解决方案
Sep 19 #PHP
手把手编写PHP框架 深入了解MVC运行流程
Sep 19 #PHP
You might like
PHP新手上路(二)
2006/10/09 PHP
PHP一些常用的正则表达式字符的一些转换
2008/07/29 PHP
php 抽象类的简单应用
2011/09/06 PHP
php中替换字符串函数strtr()和str_repalce()的用法与区别
2016/11/25 PHP
浅谈PHP中try{}catch{}的使用方法
2016/12/09 PHP
PHP封装的验证码工具类定义与用法示例
2018/08/22 PHP
PHP PDOStatement::fetch讲解
2019/01/31 PHP
说说JSON和JSONP 也许你会豁然开朗
2012/09/02 Javascript
jquery获取div宽度的实现思路与代码
2013/01/13 Javascript
textarea焦点的用法实现获取焦点清空失去焦点提示效果
2014/05/19 Javascript
js对象基础实例分析
2015/01/13 Javascript
JavaScript优化专题之Loading and Execution加载和运行
2016/01/20 Javascript
详解angular2采用自定义指令(Directive)方式加载jquery插件
2017/02/09 Javascript
微信小程序小组件 基于Canvas实现直播点赞气泡效果
2020/05/29 Javascript
vue深入解析之render function code详解
2017/07/18 Javascript
Nodejs实现文件上传的示例代码
2017/09/26 NodeJs
基于Vuejs的搜索匹配功能实现方法
2018/03/03 Javascript
vue引入js数字小键盘的实现代码
2018/05/14 Javascript
vue项目中使用lib-flexible解决移动端适配的问题解决
2018/08/23 Javascript
解决微信小程序调用moveToLocation失效问题【超简单】
2019/04/12 Javascript
python中的lambda表达式用法详解
2016/06/22 Python
Python cookbook(数据结构与算法)找到最大或最小的N个元素实现方法示例
2018/02/13 Python
Django框架自定义模型管理器与元选项用法分析
2019/07/22 Python
Python爬虫 urllib2的使用方法详解
2019/09/23 Python
Django框架安装及项目创建过程解析
2020/09/14 Python
ET Mall东森购物网:东森严选
2017/03/06 全球购物
吉尔德利巧克力公司:Ghirardelli Chocolate Company
2019/03/27 全球购物
德国的大型美妆个护电商:Flaconi
2020/06/26 全球购物
物流创业计划书
2014/02/01 职场文书
物理专业大学生职业生涯规划书
2014/02/07 职场文书
十佳青年事迹材料
2014/08/21 职场文书
搞笑的爱情检讨书
2014/10/01 职场文书
普通党员自我剖析材料
2014/10/07 职场文书
5.12护士节活动总结
2015/02/10 职场文书
2019各种承诺书范文
2019/06/24 职场文书
Android超详细讲解组件ScrollView的使用
2022/03/31 Java/Android