CSP: style-src-elem

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

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

CSP バージョン 3
ディレクティブ種別 フェッチディレクティブ
default-src の代替

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

構文

http
Content-Security-Policy: style-src-elem 'none';
Content-Security-Policy: style-src-elem <source-expression-list>;

このディレクティブは、次のいずれかの値を指定することができます。

'none'

この種類のリソースは読み込まれません。単一引用符は必須です。

<source-expression-list>

ソース表現の値を空白で区切ったリストです。この種類のリソースは、指定されたソース表現のいずれかと一致した場合に読み込まれます。このディレクティブでは、フェッチディレクティブの構文に掲載されているソース表現のうち、 'unsafe-hashes' 以外のいずれかが適用できます。

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

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

違反している場合

この 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

ブラウザーの互換性

関連情報