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

ブラウザーの互換性

Report problems with this compatibility data on GitHub
desktopmobile
Chrome
Edge
Firefox
Opera
Safari
Chrome Android
Firefox for Android
Opera Android
Safari on iOS
Samsung Internet
WebView Android
WebView on iOS
style-src-elem

Legend

Tip: you can click/tap on a cell for more information.

Full support
Full support

関連情報