誰かがページへのリンクをクリックしてページに入ると、HTTP リファラーを取得できることを知っています。しかし、ユーザーが自分でアドレスを入力したときに、そのユーザーがどのページにいるかを判断することは可能でしょうか?
3 に答える
標準によれば、ユーザーがアドレスを入力したときに、ブラウザは現在のページのアドレスを送信してはなりません(MUSTNOT)。HTTP / 1.1ヘッダーフィールドのドキュメントから:
ユーザーのキーボードからの入力など、独自のURIを持たないソースからRequest-URIを取得した場合は、Refererフィールドを送信してはなりません(MUSTNOT)。
以下は私の以前の回答であり、質問と完全には一致しませんでしたが、歴史的な目的のためにここに残しました。
アドレスがブラウザに直接入力された場合、リファラーは空(または存在しない)になりますが、それは実際には信頼できるものではありません(つまり、他の理由でリファラーが空になる可能性があります)。
リファラーが空になる注目すべき理由の1つは、ブラウザーがセキュアモードから非セキュアモードに切り替わるときです。
ユーザーが URL を入力したとき (またはブックマークをクリックしたとき) に、ユーザーが使用していた URL を HTTP REFERER として送信する、あいまいなブラウザーがあるかもしれませんが、通常は送信されません。
キーボードから直接リファラーを取得することはできません
同じでdomain
、簡単な回避策としてsystem
使用できる場合Permanent Cookies
例
setcookie("lastLink" ,$value, mktime (0, 0, 0, 12, 31, 2020));
ユーザーが戻ってくるたびに、最後のリンクを取得できます $_COOKIE['lastLink']