HTML5.2で追加されるリファラーポリシーについて
従来、Webサイト間はリンクでつながっており、リンクを辿った際にはリファラーが送信される仕組みになっていました。しかしプライバシーの保護であったり、URL中に機密情報が含まれていた場合に問題になるため、送信されないことも多々あります。
HTML5.2ではリファラーポリシーが追加され、リファラーの送信について細かく制御できるようになります。
リファラーポリシーの設定法
リファラーポリシーはHTMLのmetaタグで指定します。
<meta name="referrer" content="origin"> |
リファラーポリシーの種類について
HTML5.2によって設定できるリファラーポリシーが増えています。これまでは以下の3パターンでした。
- origin
スキーマ、ドメインのみを送ります
- no-referrer
リファラーを送りません
- no-referrer-when-downgrade
HTTPSからHTTPへのアクセス時にはリファラーを送りません
- same-origin
同じドメインであればリファラーを送信します。サブドメインでは送信しません。
- strict-origin
HTTPS同士での同じドメイン(サブドメイン含む)へのアクセスにおいてリファラーを送信
- origin-when-cross-origin
同じオリジンであればURL全体を送信しますが、スキーマが異なる際にはオリジンしか送信しません
- strict-origin-when-cross-origin
同じオリジンであればURL全体を送信します。サブドメインではドメインしか送信しません。スキーマが異なる際にはリファラーを送信しません
- unsafe-url
HTTP/HTTPS関係なくリファラーを送信します。
同じドメインであるかどうか、スキーマがHTTPかHTTPSであるかによって送信する情報が異なってきます。
影響範囲
適用されるのはa/area/img/iframe/linkタグになります。
リファラーポリシーを適切に設定することで、Webアプリケーションをセキュアに運用できるようになります。すべて防いでしまえばセキュアになりますが、リファラーの値によって制御するといったことはできなくなります。外部リソースを使うのが当たり前になっている現在、リファラーポリシーを使って安全な運営に努めてください。
コメントは受け付けていません。