テスト結果:
1回目はRefererを取得できましたが、2回目は取得できませんでした。その理由が非常に気になります。
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>;
なぜ初回は取得できるのに、2回目は取得できないのか非常に興味があります。
環境はLNMPA、公式はhttp://lnmp.org/lnmpa.htmlです
Macでパケットをキャプチャするにはcharlesを使用してください
2回リクエストされたtest1.phpのヘッダーは一致しています。
test_cookie.php への 2 つのリクエストのヘッダーは一貫しています。
それでは、2 つの同一のリクエストにより PHP が紹介を取得できない理由は何でしょうか?という疑問が生じます。ひざまずいて答えを求めてください。
さらにエキサイティングなトピックについては、Xiaowu のブログ http://www.lingdonge.com をフォローしてください
上記は、PHP がリファラーを取得できない問題のトラブルシューティングを、関連する内容も含めて紹介しました。PHP チュートリアルに興味のある友人に役立つことを願っています。