中級

Referer (リファラ)

Refererは、HTTPヘッダのフィールドの一つで、ユーザーがどのWebページから遷移してきたのか、そのリンク元のURL情報を示します。Webサイトのアクセス解析などに利用される一方、プライバシーやセキュリティ上の配慮も必要となります。

#セキュリティ#プライバシー
公開: 2025年8月29日更新: 2025年9月5日

"id","title","slug","description","content","category","difficulty","tags","relatedTerms","isRecommended","order"

"it-sec-referer-01","Referer(リファラ)","referer","Refererは、HTTPヘッダのフィールドの一つで、ユーザーがどのWebページから遷移してきたのか、そのリンク元のURL情報を示します。Webサイトのアクセス解析などに利用される一方、プライバシーやセキュリティ上の配慮も必要となります。","ユーザーが「どこから来たのか」を示す足跡、それがRefererだ。HTTPリクエストヘッダに含まれる情報の一つで、Webサーバにアクセス元の情報を伝える役割を持つ。ちなみに、本来の英単語は'referrer'だが、最初の仕様策定時のスペルミスがそのまま定着した。笑えない話だ。

Refererとは

  • あるWebページAにあるリンクをクリックして、ページBに移動したとする。
  • この時、ページBにアクセスするブラウザは、HTTPリクエストヘッダの中に「Referer: (ページAのURL)」という情報を含めて送信する。
  • これを受け取ったページBのサーバは、「このユーザーはページAから来たんだな」と知ることができる。

主な用途

  • アクセス解析
    • サイト管理者は、Refererを見ることで、どのサイトからの流入が多いのか、どの検索エンジンの、どのキーワードで検索された結果、自サイトにたどり着いたのかを知ることができる。マーケティングの基本的な情報源だ。
  • アフィリエイト
    • どの紹介サイト経由で商品が購入されたかを特定し、紹介料を支払う仕組みにも使われる。

セキュリティ上の問題点

この「足跡」は、時として厄介な問題を引き起こす。

  1. プライバシーの漏洩
    • Refererには、URLのパスやクエリパラメータまで含まれる。もしURL内にセッションIDや個人を特定できるような情報が含まれていた場合、それがリンク先の外部サイトに筒抜けになってしまう。
  2. CSRF(クロスサイトリクエストフォージェリ)対策での利用
    • リクエストが、意図したドメインから送られてきているか(同じサイト内からの遷移か)をRefererでチェックし、外部サイトからの不正なリクエストをブロックする、という対策に利用されることがある。ただし、Refererはユーザー側で偽装も可能であり、これだけに頼るのは脆弱だ。

Refererは便利な情報源だが、同時に機微な情報が漏れる経路にもなりうる。そのため、最近のブラウザではプライバシー保護の観点から、Refererの送信を制御する「Referrer-Policy」という仕組みが導入されている。どのような情報が、どこまで相手に伝わっているのか。常に意識する必要がある。","threats-attacks","intermediate","web,protocol,security,privacy","","false",410