web-dev-qa-db-ja.com

HTTP_REFERERはどの程度信頼できますか?

私のWebアプリケーションへの訪問者の参照元を確認して記録する必要があります。 HTTP_REFERERはどの程度信頼できますか?そして、他の選択肢はありますか?

38
willz

HTTP_REFERERの使用は信頼できません。その値は、ブラウザーまたはクライアントアプリケーションからサーバーに送信されるHTTP Refererヘッダーに依存しているため、信頼できません。

Refererヘッダーに関して、セクション RFC2616の15.1.2 は次のように述べています。

したがって、アプリケーションは、この情報の提供者に可能な限りこの情報を制御する必要があります。

そして

必須ではありませんが、ユーザーがFromおよびReferer情報の送信を有効または無効にするための便利なトグルインターフェイスを提供することをお勧めします。

多くのオンラインプライバシーツールがこの値を壊し、FireFoxなどの多くのブラウザーは長い間、ユーザーがこのヘッダーが送信されるのを防ぐことを許可しています。簡単に言えば、私はそれを真剣な目的に依存することはありません。たとえば、Refererが偽装される可能性があるため、ドライブバイスパマーが値を投稿できないようにフォームを保護します。

詳細については、以下を参照してください。

認証または承認にリファラーフィールドを使用 (WayBackMachine)

45
Kev