CSP: style-src-elem
Baseline
Widely available
This feature is well established and works across many devices and browser versions. It’s been available across browsers since 2022年12月.
HTTP の Content-Security-Policy (CSP) における style-src-elem ディレクティブは、スタイルシート <style> 要素と rel="stylesheet" を持つ <link> 要素の有効なソースを指定します。
これらは style-src-attr を使用して設定されます(また、すべてのスタイルの有効なソースは style-src で設定することができます)。
| CSP バージョン | 3 |
|---|---|
| ディレクティブ種別 | フェッチディレクティブ |
default-src の代替 |
あり。
このディレクティブがない場合、ユーザーエージェントは |
構文
Content-Security-Policy: style-src-elem 'none';
Content-Security-Policy: style-src-elem <source-expression-list>;
このディレクティブは、次のいずれかの値を指定することができます。
'none'-
この種類のリソースは読み込まれません。単一引用符は必須です。
<source-expression-list>-
ソース表現の値を空白で区切ったリストです。この種類のリソースは、指定されたソース表現のいずれかと一致した場合に読み込まれます。このディレクティブでは、フェッチディレクティブの構文に掲載されているソース表現のうち、
'unsafe-hashes'以外のいずれかが適用できます。
style-src-elem は style-src との組み合わせで使用できます。
Content-Security-Policy: style-src <source>;
Content-Security-Policy: style-src-elem <source>;
例
>違反している場合
この CSP ヘッダーがあったとします。
Content-Security-Policy: style-src-elem https://example.com/
…このスタイルシートはブロックされ、読み込まれません。
<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 ヘッダーを使用して読み込まれたスタイル設定です。
Link: <https://not-example.com/styles/stylesheet.css>;rel=stylesheet
仕様書
| Specification |
|---|
| Content Security Policy Level 3> # directive-style-src-elem> |
ブラウザーの互換性
Loading…