>  기사  >  백엔드 개발  >  PHP无法获取Referer问题排查

PHP无法获取Referer问题排查

WBOY
WBOY원래의
2016-07-30 13:31:081840검색

测试结果:

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으로 문의하세요.