CSP: script-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) における script-src-elem ディレクティブは、 JavaScript の <script> 要素の有効なソースを指定します。
このディレクティブは <script> 要素(スクリプトリクエストとブロックの両方)の中で有効なソースのみを指定します。
インラインスクリプトイベントハンドラー (onclick) や "unsafe-eval" チェックでゲートされたスクリプト実行メソッド、XSLT スタイルシートなど、スクリプトの実行のきっかけとなるような他の JavaScript ソースには適用されません。
(有効なソースは、 script-src を使用してすべての JavaScript スクリプトソースに指定することも、 script-src-attr を使用してインラインスクリプトハンドラーにのみ指定することも可能です。)
| CSP バージョン | 3 |
|---|---|
| ディレクティブ種別 | フェッチディレクティブ |
default-src による代替 |
あり。
このディレクティブがない場合、ユーザーエージェントは script-src ディレクティブを探し、両方ともない場合は、 default-src ディレクティブで代替します。
|
構文
Content-Security-Policy: script-src-elem 'none';
Content-Security-Policy: script-src-elem <source-expression-list>;
このディレクティブは、次のいずれかの値を指定することができます。
'none'-
この種類のリソースは読み込まれません。単一引用符は必須です。
<source-expression-list>-
ソース表現の値を空白で区切ったリストです。この種類のリソースは、指定されたソース表現のいずれかと一致した場合に読み込まれます。このディレクティブでは、フェッチディレクティブの構文に掲載されているソース表現のうち、
'unsafe-hashes'以外のいずれかが適用できます。
script-src-elem は script-src との組み合わせで使用することができます。
Content-Security-Policy: script-src <source>;
Content-Security-Policy: script-src-elem <source>;
例
>違反の場合
この CSP ヘッダーがあったとします。
Content-Security-Policy: script-src-elem https://example.com/
…以下のスクリプトがブロックされ、読み込まれず、実行されません。
<script src="https://not-example.com/js/library.js"></script>
仕様書
| Specification |
|---|
| Content Security Policy Level 3> # directive-script-src-elem> |
ブラウザーの互換性
Loading…