SO と他のサイトの両方で、これ$_SERVER['HTTP_REFERER']
はプログラマーとして常に避けるべきことだと読みました。PHP マニュアルを読むと、次の行が見つかります。
ユーザー エージェントを現在のページに参照させたページ (存在する場合) のアドレス。これは、ユーザー エージェントによって設定されます。すべてのユーザー エージェントがこれを設定するわけではなく、機能として HTTP_REFERER を変更する機能を提供するユーザー エージェントもあります。要するに、本当に信用できない。
Webブラウザ(Safari、Chrome、Opera、Firefox、基本的にはすべて)などの「ユーザーエージェント」を考慮すると、マニュアルには、この変数が変更される可能性があることが記載されています。これが私の最初の質問です。
質問 1 : 「ユーザー エージェント」がこのパラメーターを変更する必要があるのはなぜですか? Web ブラウザーがこのパラメーターを設定しない理由は何ですか?
それはただの好奇心であり、私は使用しません$_SERVER['HTTP_REFERER']
。私の最新の声明から、そのような機能が必要な場合、何かを理解する必要があることは明らかです。最初に頭に浮かぶのは、次のようなことを行う Cookie ソリューションです。
setcookie('latest_page', __FILE__, 60 * 60 * 24 * 7);
そして、好みの方法に基づいて、必要なものを回復できます。2 番目で最後の質問です。
質問 2 : この方法が最適ですか? 改善する方法はありますか?