PHP无法获取Referer问题排查
测试结果:
同一个页面,2次打开,第一次能获取到Referer第二次获取不到,很好奇原因所在。
test1.php代码是:
<?php echo '测试来源:直接载入页面<br/>'; echo '<a href="test_cookie.php">进入页面</a><br/>'; echo '测试来源:新窗口打开<br/>'; echo '<a target="_blank" href="test_cookie.php">进入页面</a><br/>';
test_cookie.php的代码为:
<?php date_default_timezone_set('Asia/Shanghai');//设置默认时区
header('content-type:text/html; charset=utf8');//设置返回头信息 echo date('Y-m-d H:i:s');
echo "<br/>\r\n"; echo 'PHP获取Refer是:';
$refer=isset($_SERVER['HTTP_REFERER'])?$_SERVER['HTTP_REFERER']:'No refer found';
echo $refer;
echo "<br/>\r\n"; echo 'JS获取Refer是:';
echo "<script>document.writeln(document.referrer);</script>";
echo "<br/>\r\n";
极度好奇是什么原因造成的第一次能获取,第二次不能获取。
环境是LNMPA,官方是http://lnmp.org/lnmpa.html
Mac下用charles抓包
2次请求test1.php的header是一致的。
2次请求test_cookie.php的header是一致的。
那么问题来了,什么原因造成的2次完全一模一样的请求,PHP取不到refer。跪求解。
更多精彩话题关注小五博客http://www.lingdonge.com
PHP无法获取Referer问题排查的更多相关文章
- Java获取项目当前请求的全部URL,Java获取Referer,Java获取完整链接地址URL
Java获取项目当前请求的全部URL,Java获取Referer,Java获取完整链接地址URL >>>>>>>>>>>>> ...
- javaweb之request获取referer请求头实现防盗链
package test.request; import java.io.IOException; import javax.servlet.ServletException; import java ...
- Referrer 还是 Referer?
上回我写了一篇文章介绍「Referrer Policy」,有小伙伴看完后问我:Referrer 这个单词到底怎么拼,为什么有时候中间有两个 r,有时候只有一个? 是的,这是一个很有趣的问题,这里就给有 ...
- referer htttp headers 统计信息 防盗链
HTTP headers是HTTP请求和相应的核心模块,它承载了关于客户端浏览器.请求页面.服务器等相关信息.Referer是HTTP头中的一个属性,告诉服务器我是从哪个页面链接过来的,所携带的信息用 ...
- 防盗链[referer]
原文出处:http://www.cnblogs.com/devilfree/archive/2012/09/11/2680914.html 总结一下今天学习防盗链Filter的一些知识点: 防盗链要实 ...
- 利用referer属性,记录百度搜索跳转参数
从百度搜索结果跳转到指定链接前,百度会发送一些参数,可以利用referer属性,在本站访问时记录百度跳转来之前的一些参数. 利用百度跳转前参数,进行一些相关的seo优化. 目前所用到的一些参数说明如下 ...
- IE bug之location.href没有referer
使用js实现跳转一般会用 location.href="www.google.com"; 这样在一般的浏览器中可以在服务器端正常的获取referer,但是如果是IE浏览器就不正常了 ...
- HTTP系列之Referer和Referrer policy简介
目录 @ 1.前言摘要 在csdn网站随便抓个链接来看看: Referer参数: referrer policy是unsafe url的,ok,下面介绍一下Referer和referrer polic ...
- 利用窗口引用漏洞和XSS漏洞实现浏览器劫持
==Ph4nt0m Security Team== Issue 0x03, Phile #0x05 of 0x07 |=----------------- ...
随机推荐
- win10系统 Visual Studio 2013 Color Theme Editor插件 安装出错
下载这个版本,用vs2013打开安装即可:http://pan.baidu.com/s/1hrcfY1A
- CodeSmith exclude global 文件和文件夹问题 与 输入中文显示乱码问题
1.打开C:/Documents and Settings/你的用户名/Application Data/CodeSmith/v4.1/CodeSmithGui.config文件. 2.在<te ...
- IOS 获取手机各种信息
/手机序列号 NSString* identifierNumber = [[UIDevice currentDevice] uniqueIdentifier]; NSLog(@&qu ...
- & 和 && 区别
java中&和&&的区别,&和&&虽然都是逻辑运算符,都是判断两边为真,则语句成立,但是在运行的时候,还是有差别的,下面举例来说明. java中& ...
- win7 64位系统调试zkemkeeper.dll出错误解决
最近调用中控科技dll文件总是会出现上问题,网上找了大半天都没解决? 今天终于解决,原来是旧的dll文件是有问题,在中控网站上下载了最新的sdk(64位),解压,找到sdk的全部文件夹. 全选所有的: ...
- MAC上使用maven打android的包,报错:No Android SDK path could be found. 解决办法
对android工程运行mvn compile出现如下信息: No Android SDK path could be found. You may configure it in the pom u ...
- Android 数据库ORM框架GreenDao学习心得及使用总结<一>
转: http://www.it165.net/pro/html/201401/9026.html 最近在对开发项目的性能进行优化.由于项目里涉及了大量的缓存处理和数据库运用,需要对数据库进行频繁的读 ...
- 转 ——eclipse下进行Python开发 环境配置
python for eclipse插件安装1.下载python for eclipsepython for eclipse下载地址,如:org.python.pydev.feature-1.6.3. ...
- 供应类型与计划分类一致性检查(INV)
应用 Oracle Inventory 层 Level Function 函数名 Funcgtion Name CUXINVIMM 表单名 Form Name CUXINVIMM 说明 Descrip ...
- 提高Delphi的编译速度(bpl和bcp)
delphi的编译速度提高(一) 此博文为原创,转载请注明出处 作者 :二娃 此博文的内容我曾经回答群内和论坛内的网友提问时回答过,现在写第一部分,第二部分,我再给出一个终极的提高速度的方法 我用过d ...