CSP: style-src-elem
HTTP の Content-Security-Policy (CSP) における style-src-elem ディレクティブは、スタイルシート <style> 要素と rel="stylesheet" を持つ <link> 要素の有効なソースを指定します。
これらは style-src-attr を使用して設定されます(また、すべてのスタイルの有効なソースは style-src で設定することができます)。
| CSP バージョン | 3 |
|---|---|
| ディレクティブ種別 | フェッチディレクティブ |
| フォールバック |
このディレクティブがない場合、ユーザーエージェントは |
構文
1 つ以上のソースが style-src-elem ポリシーで指定できます。
http
Content-Security-Policy: style-src-elem <source>;
Content-Security-Policy: style-src-elem <source> <source>;
style-src-elem は style-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