空のHTTP_REFERERを取得することは可能です。これはどのような状況で起こりますか?空のものを取得した場合、常にユーザーが変更したということですか?空のものを取得することは、空のものを取得することと同じですか?そして、どのような状況で私もそれを手に入れますか?
エンドユーザーが
HTTP_REFERER-ブラウザによって送信され、ブラウザが表示した最後のページを示します!
重要な何らかの理由で[HTTP_REFERER]を信頼している場合は、簡単に偽造できるため、そうすべきではありません。
このFirefox拡張機能を試してください。必要なヘッダーを設定できます。
@Master of Celebration:
Firefox:
拡張子:refspoof 、 refontrol 、 ヘッダーの変更 、 no-referer
完全に無効にします:「network.http.sendRefererHeader」の下のabout:configでオプションを使用できます。これを0に設定して、リファラーの受け渡しを無効にします。
Google chrome/Chromium:
拡張子:noref 、 spoofy 、 external noreferrer
完全に無効にします:Chnage〜/ .config/google-chrome/Default/Preferencesまたは〜/ .config/chromium/Default/Preferencesを設定し、これを設定します:
{
...
"enable_referrers": false,
...
}
または単に--no-referrersをショートカットまたはcliに追加:
google-chrome --no-referrers
オペラ:
完全に無効にします:[設定]> [設定]> [詳細]> [ネットワーク]、[リファラー情報を送信]のチェックを外します
スプーフィングWebサービス:
スタンドアロンフィルタリングプロキシ(ヘッダーのスプーフィング):
wget使用時のhttp_refererのなりすまし
「--referer = url」
curl使用時のhttp_refererのなりすまし
-e、-referer
telnetを使用したhttp_refererのなりすまし
telnet www.yoursite.com 80 (press return)
GET /index.html HTTP/1.0 (press return)
Referer: http://www.hah-hah.com (press return)
(press return again)
BalusCのリストは堅実です。ユーザーがプロキシサーバーの背後にいる場合、このフィールドが頻繁に空に見えるもう1つの方法があります。これはファイアウォールの背後にあるのと似ていますが、少し異なるため、完全を期すために言及したいと思います。
また、新しい Referrer Policy standard draft を使用して、リファラーヘッダーがリクエストOriginに送信されないようにする場合も空になります。例:
<meta name="referrer" content="none">
ChromeおよびFirefoxはリファラーポリシーのドラフトバージョンを既に実装していますが、たとえばChromeはnone
ではなくno-referrer
を想定しているため、注意が必要です。 (そして、どこかでnever
も見ました)。
ブラウザーのリファラーの実装には、実際には一貫性がないことがわかりました。
たとえば、「download」属性を持つアンカー要素はSafariで正常に機能し、リファラーを送信しますが、Chromeでは、リファラーは空またはWebサーバーログで「-」になります。
<a href="http://foo.com/foo" download="bar">click to download</a>
Chromeで破損しています-リファラーが送信されていません。