LoginSignup
0
0

More than 1 year has passed since last update.

HTTP Referrer-Policy ヘッダー概要

Posted at

Refererヘッダーとは

  • アクセス元情報を渡すためのHTTPヘッダー
  • Webブラウザなどにより自動でRequestヘッダーとして送信元のURL情報を付与される

Referrer-policyヘッダーとは

  • Refererヘッダーで送られる情報をリクエストにどれだけ含めるかを制御するHTTPヘッダー

Refererヘッダーによる重要情報漏洩への対応

  • 遷移元アクセス時のURLに重要情報(パスワードなどユーザー認証情報)が含まれていた場合、その情報が遷移先のサイトに送られてしまう。

    • Referer: https://example.com/auth?emailaddress=test@mail.com&password=Passw0rd
      
  • Refererヘッダーに指定される情報をReferrer-policyヘッダーによって制御することで、重要情報の漏洩を防止する。

構文

Referrer-Policy: {ディレクティブ}

ディレクティブ

ディレクティブ 説明
no-referrer リクエストにはリファラー情報を含めない。
no-referrer-when-downgrade プロトコルのセキュリティ水準が同一、もしくは向上する場合 (HTTP→HTTP, HTTP→HTTPS, HTTPS→HTTPS) に、オリジン、パス、クエリ文字列が Refererヘッダーで送信される。
origin オリジンのみが Referer ヘッダーで送信される。
例: https://example.com/page.html の場合 https://example.com/
origin-when-cross-origin 同一のプロトコル水準 (HTTP→HTTP, HTTPS→HTTPS) で同一オリジンのリクエストを行う場合、オリジン、パス、クエリ文字列を送信する。
オリジン間リクエストや安全性の低下する移動先 (HTTPS→HTTP) ではオリジンのみを送信する。
same-origin 同一オリジンのリクエストではオリジン、パス、クエリ文字列を送信する。
オリジン間リクエストでは Referer ヘッダーを送信しない。
strict-origin プロトコルのセキュリティ水準が同じである場合 (HTTPS→HTTPS) にのみオリジンを送信する。
安全性の低下する移動先 (HTTPS→HTTP) には Referer ヘッダーを送信しない。
strict-origin-when-cross-origin 同一オリジンのリクエストを行う際はオリジン、パス、クエリ文字列を送信する。
オリジン間リクエストでは、プロトコルのセキュリティ水準が同じである場合 (HTTPS→HTTPS) にのみオリジンを送信する。
安全性の低下する遷移先 (HTTPS→HTTP) には Referer ヘッダーを送信しない。
unsafe-url リクエストに依らず、オリジン、パス、クエリ文字列を送信する。

参考情報

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0