HTML5.2で追加されるリファラーポリシーについて
従来、Webサイト間はリンクでつながっており、リンクを辿った際にはリファラーが送信される仕組みになっていました。しかしプライバシーの保護であったり、URL中に機密情報が含まれていた場合に問題になるため、送信されないことも多々あります。
HTML5.2ではリファラーポリシーが追加され、リファラーの送信について細かく制御できるようになります。
リファラーポリシーの設定法
リファラーポリシーはHTMLのmetaタグで指定します。
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
<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アプリケーションをセキュアに運用できるようになります。すべて防いでしまえばセキュアになりますが、リファラーの値によって制御するといったことはできなくなります。外部リソースを使うのが当たり前になっている現在、リファラーポリシーを使って安全な運営に努めてください。
コメントは受け付けていません。