測試結果:
同一個頁面,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教學有興趣的朋友有幫助。