2

誰かがページへのリンクをクリックしてページに入ると、HTTP リファラーを取得できることを知っています。しかし、ユーザーが自分でアドレスを入力したときに、そのユーザーがどのページにいるかを判断することは可能でしょうか?

4

3 に答える 3

4

標準によれば、ユーザーがアドレスを入力したときに、ブラウザは現在のページのアドレスを送信してはなりません(MUSTNOT)。HTTP / 1.1ヘッダーフィールドのドキュメントから:

ユーザーのキーボードからの入力など、独自のURIを持たないソースからRequest-URIを取得した場合は、Refererフィールドを送信してはなりません(MUSTNOT)。


以下は私の以前の回答であり、質問と完全には一致しませんでしたが、歴史的な目的のためにここに残しました。

アドレスがブラウザに直接入力された場合、リファラーは空(または存在しない)になりますが、それは実際には信頼できるものではありません(つまり、他の理由でリファラーが空になる可能性があります)。

リファラーが空になる注目すべき理由の1つは、ブラウザーがセキュアモードから非セキュアモードに切り替わるときです。

于 2012-09-04T10:01:06.857 に答える
1

ユーザーが URL を入力したとき (またはブックマークをクリックしたとき) に、ユーザーが使用していた URL を HTTP REFERER として送信する、あいまいなブラウザーがあるかもしれませんが、通常は送信されません。

于 2012-09-04T10:02:43.537 に答える
1

キーボードから直接リファラーを取得することはできません

同じでdomain、簡単な回避策としてsystem使用できる場合Permanent Cookies

   setcookie("lastLink"  ,$value, mktime (0, 0, 0, 12, 31, 2020));

ユーザーが戻ってくるたびに、最後のリンクを取得できます $_COOKIE['lastLink']

于 2012-09-04T10:17:33.227 に答える