コンテンツへスキップ

HTML5.2で追加されるリファラーポリシーについて

by : 2018/04/20

従来、Webサイト間はリンクでつながっており、リンクを辿った際にはリファラーが送信される仕組みになっていました。しかしプライバシーの保護であったり、URL中に機密情報が含まれていた場合に問題になるため、送信されないことも多々あります。

HTML5.2ではリファラーポリシーが追加され、リファラーの送信について細かく制御できるようになります。

リファラーポリシーの設定法

リファラーポリシーはHTMLのmetaタグで指定します。


<meta name="referrer" content="origin">

view raw

index.html

hosted with ❤ by GitHub

リファラーポリシーの種類について

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アプリケーションをセキュアに運用できるようになります。すべて防いでしまえばセキュアになりますが、リファラーの値によって制御するといったことはできなくなります。外部リソースを使うのが当たり前になっている現在、リファラーポリシーを使って安全な運営に努めてください。

Referrer Policy(日本語訳)

From → HTML5

コメントは受け付けていません。

%d人のブロガーが「いいね」をつけました。