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 相关文章推荐
与数据库连接
Oct 09 PHP
ob_start(),ob_start('ob_gzhandler')使用
Dec 25 PHP
PHP错误抑制符(@)导致引用传参失败Bug的分析
May 02 PHP
过滤掉PHP数组中的重复值的实现代码
Jul 17 PHP
微信公众平台消息接口校验与消息接口响应实例
Dec 23 PHP
微信公众平台开发关注及取消关注事件的方法
Dec 23 PHP
php使用MySQL保存session会话的方法
Jun 26 PHP
PHP添加图片水印、压缩、剪切的封装类
Aug 17 PHP
PHP实现批量上传单个文件
Dec 29 PHP
php开发时容易忘记的一些技术细节
Feb 03 PHP
php中html_entity_decode实现HTML实体转义
Jun 13 PHP
PHP实现计算器小功能
Aug 28 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
关于url地址传参数时字符串有回车造成页面脚本赋值失败的解决方法
2013/06/28 PHP
PHP命名空间(Namespace)简明教程
2014/06/11 PHP
深入浅析PHP7.0新特征(五大新特征)
2015/10/29 PHP
javascript中的继承实例代码
2011/04/27 Javascript
js控制表单奇偶行样式的简单方法
2013/07/31 Javascript
JavaScript实现简单的时钟实例代码
2013/11/23 Javascript
解析Javascript小括号“()”的多义性
2013/12/03 Javascript
jQuery如何实现点击页面获得当前点击元素的id或其他信息
2014/01/09 Javascript
jquery利用拖拽方式在图片上添加热链接
2015/11/24 Javascript
jQuery实现隔行变色的方法分析(对比原生JS)
2016/11/18 Javascript
vue.js实例todoList项目
2017/07/07 Javascript
Vue.js实现实例搜索应用功能详细代码
2017/08/24 Javascript
浅谈Vue SPA 首屏加载优化实践
2017/12/15 Javascript
浅谈Vue render函数在ElementUi中的应用
2018/09/06 Javascript
vue基于element的区间选择组件
2018/09/07 Javascript
vue中实现高德定位功能
2019/12/03 Javascript
微信小程序批量上传图片到七牛(推荐)
2019/12/19 Javascript
Python中处理字符串之endswith()方法的使用简介
2015/05/18 Python
Python3.5面向对象程序设计之类的继承和多态详解
2019/04/24 Python
django自定义非主键自增字段类型详解(auto increment field)
2020/03/30 Python
python基于selenium爬取斗鱼弹幕
2021/02/20 Python
css3中的calc函数浅析
2018/07/10 HTML / CSS
HTML5里的placeholder属性使用实例和美化显示效果的方法
2014/04/23 HTML / CSS
浅谈基于HTML5的在线视频播放方案
2016/02/18 HTML / CSS
微软香港官网及网上商店:Microsoft HK
2016/09/01 全球购物
GAP欧盟网上商店:GAP EU
2016/09/13 全球购物
韩国11街:11STREET
2018/03/27 全球购物
ABOUT YOU匈牙利:500个最受欢迎的时尚品牌
2019/07/19 全球购物
李维斯牛仔裤荷兰官方网站:Levi’s NL
2020/08/23 全球购物
销售员岗位职责范本
2014/02/03 职场文书
大型公益活动策划方案
2014/08/20 职场文书
泰山导游词
2015/02/02 职场文书
哪类餐饮行业,最适合在高校创业?
2019/08/19 职场文书
小程序实现文字循环滚动动画
2021/06/14 Javascript
Vue项目打包、合并及压缩优化网页响应速度
2021/07/07 Vue.js
Python可变集合和不可变集合的构造方法大全
2021/12/06 Python