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 相关文章推荐
分页详解 从此分页无忧(PHP+mysql)
Nov 23 PHP
php解析url的三个示例
Jan 20 PHP
PHP对表单提交特殊字符的过滤和处理方法汇总
Feb 18 PHP
php绘图中显示不出图片的原因及解决
Mar 05 PHP
php+ajax无刷新分页实例详解
Dec 07 PHP
php 时间time与日期date之间的使用详解及区别
Nov 07 PHP
PHP实现多级分类生成树的方法示例
Feb 07 PHP
ThinkPHP+EasyUI之ComboTree中的会计科目树形菜单实现方法
Jun 09 PHP
PHP利用递归函数实现无限级分类的方法
Mar 22 PHP
php反射学习之不用new方法实例化类操作示例
Jun 14 PHP
PHP设计模式(五)适配器模式Adapter实例详解【结构型】
May 02 PHP
PHP mkdir创建文件夹实现方法解析
Nov 13 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第一次无法获取cookie问题处理
2014/12/15 PHP
ZF框架实现发送邮件的方法
2015/12/03 PHP
打造基于jQuery的高性能TreeView(asp.net)
2011/02/23 Javascript
jquery连缀语法如何实现
2012/11/29 Javascript
网站内容禁止复制和粘贴、另存为的js代码
2014/02/26 Javascript
node+express+jade制作简单网站指南
2014/11/26 Javascript
JavaScript计算某一天是星期几的方法
2015/08/05 Javascript
jQuery-mobile事件监听与用法详解
2016/11/23 Javascript
vue.js+Element实现表格里的增删改查
2017/01/18 Javascript
微信小程序 Animation实现图片旋转动画示例
2018/08/22 Javascript
浅谈React Event实现原理
2018/09/20 Javascript
详解基于iview-ui的导航栏路径(面包屑)配置
2019/02/22 Javascript
详解vue 路由跳转四种方式 (带参数)
2019/04/28 Javascript
微信小程序如何调用图片接口API并居中显示
2019/06/29 Javascript
jQuery实现全选、反选和不选功能的方法详解
2019/12/04 jQuery
Vue3+elementui plus创建项目的方法
2020/12/01 Vue.js
Vue实现小购物车功能
2020/12/21 Vue.js
vue+openlayers绘制省市边界线
2020/12/24 Vue.js
Python 3中的yield from语法详解
2017/01/18 Python
Python爬取qq music中的音乐url及批量下载
2017/03/23 Python
根据DataFrame某一列的值来选择具体的某一行方法
2018/07/03 Python
使用python对多个txt文件中的数据进行筛选的方法
2019/07/10 Python
django项目中使用手机号登录的实例代码
2019/08/15 Python
Python爬虫:将headers请求头字符串转为字典的方法
2019/08/21 Python
Python使用Pandas读写Excel实例解析
2019/11/19 Python
jupyter notebook 调用环境中的Keras或者pytorch教程
2020/04/14 Python
让你相见恨晚的十个Python骚操作
2020/11/18 Python
Django如何重置migration的几种情景
2021/02/24 Python
利用CSS3实现单选框动画特效示例代码
2016/09/26 HTML / CSS
幼师专业毕业生自荐信
2013/09/29 职场文书
公司行政专员岗位职责
2014/08/24 职场文书
心得体会的写法
2014/09/05 职场文书
2015年安全生产月活动总结
2015/03/26 职场文书
喜迎建国70周年:有关爱国的名言名句
2019/09/24 职场文书
浅谈JS的二进制家族
2021/05/09 Javascript
python之django路由和视图案例教程
2021/07/26 Python