首页 >后端开发 >php教程 >PHP无法获取Referer问题排查

PHP无法获取Referer问题排查

WBOY
WBOY原创
2016-07-30 13:31:081918浏览

测试结果:

good

同一个页面,2次打开,第一次能获取到Referer第二次获取不到,很好奇原因所在。

test1.php代码是:

<?php echo <span>'测试来源:直接载入页面<br>';

echo <span>'<a href="test_cookie.php">进入页面</a><br>'</span>;

echo <span>'测试来源:新窗口打开<br>'</span>;

echo <span>'<a target="_blank" href="test_cookie.php">进入页面</a><br>'</span>;

test_cookie.php的代码为:

<?php date_default_timezone_set(<span>'Asia/Shanghai');<span>//设置默认时区</span>header(<span>'content-type:text/html; charset=utf8'</span>);<span>//设置返回头信息</span>
echo date(<span>'Y-m-d H:i:s'</span>);
echo <span>"<br>\r\n"</span>;

echo <span>'PHP获取Refer是:'</span>;
$refer=isset($_SERVER[<span>'HTTP_REFERER'</span>])?$_SERVER[<span>'HTTP_REFERER'</span>]:<span>'No refer found'</span>;
echo $refer;
echo <span>"<br>\r\n"</span>;

echo <span>'JS获取Refer是:'</span>;
    echo <span>"<script>document.writeln(document.referrer);</script>"</span>;
echo <span>"<br>\r\n"</span>;

  

极度好奇是什么原因造成的第一次能获取,第二次不能获取。

环境是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问题排查,包括了方面的内容,希望对PHP教程有兴趣的朋友有所帮助。

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn