CSP: style-src-elem

HTTP の Content-Security-Policy (CSP) における style-src-elem ディレクティブは、スタイルシート <style> 要素と rel="stylesheet" を持つ <link> 要素の有効なソースを指定します。

これらは style-src-attr を使用して設定されます(また、すべてのスタイルの有効なソースは style-src で設定することができます)。

CSP バージョン 3
ディレクティブ種別 フェッチディレクティブ
フォールバック

このディレクティブがない場合、ユーザーエージェントは style-src を探し、両方ともなかった場合は、default-src で代替されます。

構文

1 つ以上のソースが style-src-elem ポリシーで指定できます。

http
Content-Security-Policy: style-src-elem <source>;
Content-Security-Policy: style-src-elem <source> <source>;

style-src-elemstyle-src との組み合わせで使用されます。

http
Content-Security-Policy: style-src <source>;
Content-Security-Policy: style-src-elem <source>;

ソース

<source> には、CSP ソース値 に掲載されている値のいずれかが使用できます。

この同じ値の集合は、すべてのフェッチディレクティブ(と 他の多くのディレクティブ)で使用できるということに注意してください。

違反している場合

この CSP ヘッダーがあったとします。

http
Content-Security-Policy: style-src-elem https://example.com/

…このスタイルシートはブロックされ、読み込まれません。

html
<link href="https://not-example.com/styles/main.css" rel="stylesheet" />

<style>
  #inline-style {
    background: red;
  }
</style>

<style>
  @import url("https://not-example.com/styles/print.css") print;
</style>

…同様に、Link ヘッダーを使用して読み込まれたスタイル設定です。

http
Link: <https://not-example.com/styles/stylesheet.css>;rel=stylesheet

仕様書

Specification
Content Security Policy Level 3
# directive-style-src-elem

ブラウザーの互換性

BCD tables only load in the browser

関連情報