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 Ajax实现页面无刷新发表评论
Jan 02 PHP
PHP 高级课程笔记 面向对象
Jun 21 PHP
centos 5.6 升级php到5.3的方法
May 14 PHP
php数组函数序列之in_array() - 查找数组中是否存在指定值
Nov 07 PHP
destoon实现调用热门关键字的方法
Jul 15 PHP
PDO防注入原理分析以及注意事项
Feb 25 PHP
PHP 前加at符合@的作用解析
Jul 31 PHP
前端必学之PHP语法基础
Jan 01 PHP
HTML中嵌入PHP的简单方法
Feb 16 PHP
php打包压缩文件之ZipArchive方法用法分析
Apr 30 PHP
php版微信公众平台接口参数调试实现判断用户行为的方法
Sep 23 PHP
php批量删除操作代码分享
Feb 26 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统一页面编码避免乱码问题
2015/04/09 PHP
Swoole扩展的6种模式深入详解
2021/03/04 PHP
JQuery 拾色器插件发布-jquery.icolor.js
2010/10/20 Javascript
JS中如何设置readOnly的值
2013/12/25 Javascript
代码获取历史上的今天发生的事
2014/04/11 Javascript
AngularJs根据访问的页面动态加载Controller的解决方案
2015/02/04 Javascript
js全选实现和判断是否有复选框选中的方法
2015/02/17 Javascript
javascript中innerText和innerHTML属性用法实例分析
2015/05/13 Javascript
Javascript闭包与函数柯里化浅析
2016/06/22 Javascript
深入理解bootstrap框架之第二章整体架构
2016/10/09 Javascript
浅谈webpack 自动刷新与解析
2018/04/09 Javascript
微信小程序下拉框功能的实例代码
2018/11/06 Javascript
JavaScript使用闭包模仿块级作用域操作示例
2019/01/21 Javascript
Vue微信公众号网页分享的示例代码
2020/05/28 Javascript
NodeJS模块Buffer原理及使用方法解析
2020/11/11 NodeJs
vue+flask实现视频合成功能(拖拽上传)
2021/03/04 Vue.js
[55:35]DOTA2-DPC中国联赛 正赛 CDEC vs Dragon BO3 第二场 1月22日
2021/03/11 DOTA
Python日期操作学习笔记
2008/10/07 Python
Python中的index()方法使用教程
2015/05/18 Python
Python3读取文件常用方法实例分析
2015/05/22 Python
python中字符串类型json操作的注意事项
2017/05/02 Python
对python的文件内注释 help注释方法
2018/05/23 Python
对python中的高效迭代器函数详解
2018/10/18 Python
创建Django项目图文实例详解
2019/06/06 Python
python 统计文件中的字符串数目示例
2019/12/24 Python
《棉鞋里的阳光》教学反思
2014/04/24 职场文书
道德之星事迹材料
2014/05/03 职场文书
党的群众路线批评与自我批评发言稿
2014/10/16 职场文书
预备党员转正材料
2014/12/19 职场文书
2015年优质护理服务工作总结
2015/04/08 职场文书
病假证明模板
2015/06/19 职场文书
感恩父母主题班会
2015/08/12 职场文书
介绍信应该怎么开?
2019/04/03 职场文书
2019年12月24日平安夜祝福语集锦
2019/12/24 职场文书
Python趣味挑战之实现简易版音乐播放器
2021/05/28 Python
Redis三种集群模式详解
2021/10/05 Redis