PHP无法获取Referer问题排查

测试结果:

good

 

同一个页面,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

posted @ 2015-08-20 23:17  青塬科技  阅读(4074)  评论(0编辑  收藏  举报