ページに入る ページに入る
ホームページ >バックエンド開発 >PHPチュートリアル >PHP がリファラー関連のトラブルシューティングを取得できない
PHP のトラブルシューティング リファラー
を取得できない テスト結果:
同じページが 2 回開かれ、最初に取得できます。 2回目からRefererが取得できなくなったのですが、その理由が気になります。
test1.php のコードは次のとおりです:
<?phpecho <span class="str">'测试来源:直接载入页面<br/>'</span>;echo <span class="str">'<a href="test_cookie.php">进入页面</a><br/>'</span>;echo <span class="str">'测试来源:新窗口打开<br/>'</span>;echo <span class="str">'<a target="_blank" href="test_cookie.php">进入页面</a><br/>'</span>;
test_cookie.php のコードは次のとおりです:
<?phpdate_default_timezone_set(<span class="str">'Asia/Shanghai'</span>);<span class="rem">//设置默认时区</span>header(<span class="str">'content-type:text/html; charset=utf8'</span>);<span class="rem">//设置返回头信息</span>echo date(<span class="str">'Y-m-d H:i:s'</span>);echo <span class="str">"<br/>\r\n"</span>;echo <span class="str">'PHP获取Refer是:'</span>;$refer=isset($_SERVER[<span class="str">'HTTP_REFERER'</span>])?$_SERVER[<span class="str">'HTTP_REFERER'</span>]:<span class="str">'No refer found'</span>;echo $refer;echo <span class="str">"<br/>\r\n"</span>;echo <span class="str">'JS获取Refer是:'</span>; echo <span class="str">"<script>document.writeln(document.referrer);</script>"</span>;echo <span class="str">"<br/>\r\n"</span>;
なぜ初回は取得できるのに、2 回目は取得できないのか非常に不思議です。
環境は LNMPA です。公式環境は http://lnmp.org/lnmpa.html です
Charles を使用してパケットをキャプチャしますMac
test1.php への 2 つのリクエストのヘッダーは一貫しています。
test_cookie.php への 2 つのリクエストのヘッダーは一貫しています。
次に、なぜ 2 つの同一のリクエストがあり、PHP が紹介を取得できないのかという疑問が生じます。ひざまずいて答えを求めてください。
さらに興味深いトピックについては、Xiaowu のブログをフォローしてください http://www.lingdonge.com