Referrer-Policy ヘッダービルダー
Referrer-Policy ヘッダーは、ユーザーがリンクをクリックしたり、ページがサブリソースリクエストを行ったりするときに、`Referer` リクエストヘッダーに URL がどれだけ含まれるかを制御する。このビルダーは、8 つの標準ポリシーのうちの 1 つを選び、重要な 3 つのシナリオで正確に何が送信されるかを見ることができる:同じオリジンへのリクエスト、HTTPS を介したクロスオリジンリクエスト、HTTP にダウングレードするクロスオリジンリクエスト。レスポンスヘッダーと `<meta>` フォームの両方が発せられるため、サーバーまたは CDN にキャッシュされた HTML 内からポリシーを適用できる。
Referrer-Policy: strict-origin-when-cross-origin<meta name="referrer" content="strict-origin-when-cross-origin">
| シナリオ | Referer 送信 |
|---|---|
| 同一オリジン(HTTPS→HTTPS、同じホスト) | https://app.example.com/page?id=42 |
| クロスオリジン(HTTPS→HTTPS、異なるホスト) | https://api.other.com |
| ダウングレード(HTTPS→HTTP) | (no header) |
すべての HTML レスポンスにヘッダーを適用する。`<meta>` フォームは、ヘッダーを制御できないとき(ヘッダーを設定させない静的ホスティングなど)に役立つ。
使い方
- ポリシーを選ぶ。現代のブラウザのデフォルトは `strict-origin-when-cross-origin` — HTTPS から HTTPS にクロスオリジンするときはオリジンのみを漏らし、ダウングレードでは何も漏らさない。
- 3 つの例の行を読んで、ブラウザが正確に何を送るかを見る。
- レスポンスヘッダー(推奨)または `<meta>` タグ(ヘッダーを制御できない HTML ページ内で動作する)をコピーする。
よくある質問
- 安全なデフォルトポリシーは?
- `strict-origin-when-cross-origin`。同一オリジンには完全な URL(分析は引き続き動作)、クロスオリジン HTTPS にはオリジンのみ、HTTP にダウングレードするときは何もない。これは、ポリシーを設定しない場合、現代のブラウザの暗黙のデフォルト。
- なぜ `unsafe-url` がフラグされる?
- HTTPS→HTTP ダウングレードを含むすべての宛先に完全な URL(クエリ文字列を含む)を送信する。クエリ文字列には、しばしばトークン、ID、個人情報が含まれる — `unsafe-url` はそれらをネットワークと、宛先にある広告 / 分析 / 埋め込みに漏らす。
関連ツール
HSTS ヘッダービルダー
Strict-Transport-Security ヘッダーを構成 — max-age、includeSubDomains、preload — プリロードリスト適格性のライブチェック付き。
Permissions-Policy ヘッダービルダー
`Permissions-Policy` レスポンスヘッダーをビルド — カメラ、マイク、ジオロケーション、ペイメント、フルスクリーン、その他 20 以上のブラウザ機能をオリジン許可リストでトグル。
CORS ヘッダービルダー
チェックリストから Access-Control-* レスポンスヘッダーを構成、4 つのプリセットと危険な組み合わせのライブ警告付き。
Content-Security-Policy ビルダー
ディレクティブごとのソースリストから CSP ヘッダーを構築、3 つのスターターベリプリセットと危険なワイルドカードのライブ警告付き。
SPF レコードビルダー
メカニズム・IP・include から SPF TXT レコードを構成 — ライブ DNS ルックアップカウンタと警告付き。
Cache-Control ヘッダービルダー
ビジュアルチェックリストから HTTP Cache-Control ヘッダーを構築 — 鮮度、再検証、不変性、よく使うプリセット。