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中与数组相关的函数
Mar 22 PHP
php递归创建和删除文件夹的代码小结
Apr 13 PHP
PDO版本问题 Invalid parameter number: no parameters were bound
Jan 06 PHP
PHP获取数组中某元素的位置及array_keys函数应用
Jan 29 PHP
php实现的一个很好用HTML解析器类可用于采集数据
Sep 23 PHP
使用PHP如何实现高效安全的ftp服务器(一)
Dec 20 PHP
简单谈谈php浮点数精确运算
Mar 10 PHP
今天你说520了吗?不仅有php表白书还有java表白神器
May 20 PHP
PHP中检索字符串的方法分析【strstr与substr_count方法】
Feb 17 PHP
Yii框架实现图片上传的方法详解
May 20 PHP
PHP基于回溯算法解决n皇后问题的方法示例
Nov 07 PHP
PHP 断点续传实例详解
Nov 11 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 获取百度的热词数据的代码
2012/02/18 PHP
php语言流程控制中的主动与被动
2012/11/05 PHP
php调用mysql存储过程实例分析
2014/12/29 PHP
TP3.2批量上传文件或图片 同名冲突问题的解决方法
2017/08/01 PHP
Yii框架日志记录Logging操作示例
2018/07/12 PHP
PHP+Redis链表解决高并发下商品超卖问题(实现原理及步骤)
2020/08/03 PHP
Gambit vs ForZe BO3 第三场 2.13
2021/03/10 DOTA
jQuery ui1.7 dialog只能弹出一次问题
2009/08/27 Javascript
一个封装js代码-----展开收起效果示例
2013/07/03 Javascript
jQuery Animation实现CSS3动画示例介绍
2013/08/14 Javascript
js/html光标定位的实现代码
2013/09/23 Javascript
用javascript删除当前行,添加行(示例代码)
2013/11/25 Javascript
jQuery中map()方法用法实例
2015/01/06 Javascript
nodejs 整合kindEditor实现图片上传
2015/02/03 NodeJs
Javascript点击其他任意地方隐藏关闭DIV实例
2016/06/21 Javascript
javaScript+turn.js实现图书翻页效果实例代码
2017/02/16 Javascript
深入解析js轮播插件核心代码的实现过程
2017/04/14 Javascript
Nodejs进阶之服务端字符编解码和乱码处理
2017/09/04 NodeJs
微信小程序中吸底按钮适配iPhone X方案
2017/11/29 Javascript
webpack dll打包重复问题优化的解决
2018/10/10 Javascript
浅谈Vue.js之初始化el以及数据的绑定说明
2019/11/14 Javascript
element跨分页操作选择详解
2020/06/29 Javascript
python 使用pdfminer3k 读取PDF文档的例子
2019/08/27 Python
Python图片处理模块PIL操作方法(pillow)
2020/04/07 Python
基于HTML5的齿轮动画特效
2016/02/29 HTML / CSS
萌新的HTML5 入门指南
2020/11/06 HTML / CSS
印尼穆斯林时尚购物网站:Hijabenka
2016/12/10 全球购物
某/etc/fstab文件中的某行如下: /dev/had5 /mnt/dosdata msdos defaults,usrquota 1 2 请解释其含义
2013/09/18 面试题
三好学生自我鉴定
2013/12/17 职场文书
数学高效课堂实施方案
2014/03/29 职场文书
2015小学教师年度考核工作总结
2015/05/12 职场文书
世界名著读书笔记
2015/06/25 职场文书
2016年社区国庆节活动总结
2016/04/01 职场文书
MySQL系列之十三 MySQL的复制
2021/07/02 MySQL
Spring Boot实战解决高并发数据入库之 Redis 缓存+MySQL 批量入库问题
2022/02/12 Redis
Spring Security使用单点登录的权限功能
2022/04/03 Java/Android