Referrer-Policy
Referer Headerに含める情報を制御するresponse header
Referer Headerはtypoしているが、Referrer-Policyはtypoしていないことに注意
最悪すぎるmrsekut.icon
mdn
2つの観点がある
refererにどこまでの情報を含めるか?
全て
https://example.com/page.html?hoge=piyo
query paramsにsession idなどが乗っていれば遷移先に漏洩しうる
originのみ
https://example.com
含めない
どういう遷移があった時に送るか?
Referer Headerは、A→Bというページ遷移があった時に、
Bのserverに、Aのアドレスを送る、という話をしている
この時、A、Bを比較する
same originか?cross originか?
セキュリティ水準は同等か?高いか?低いか?
directives
Referrer-Policy: no-referrer
一切含めない
Referrer-Policy: strict-origin-when-cross-origin
Referrer-Policy: no-referrer-when-downgrade
Referrer-Policy: origin
origin情報のみをrefererに含める
Referrer-Policy: origin-when-cross-origin
protcolのセキュリティ水準が同一かつ、same originの時はrefererを全て含める
そうでない場合は、origin情報のみ含める
Referrer-Policy: same-origin
same originの時はrefererを全て含める
そうでない場合は、含めない
Referrer-Policy: strict-origin
protcolのセキュリティ水準が同一のときのみoriginを送信
そうでない場合は、含めない
Referrer-Policy: unsafe-url
常に全てを含める
#??
strict-origin-when-cross-originではなくno-referrerを選択するモチベーション
strict-origin-when-cross-originでも十分安全な気がするけど、
no-referrerという選択肢があるということは、
何かしら安全でない面が存在するから?