CSP: script-src-elem

HTTP Content-Security-Policy(CSP 内容安全性策略)中的 script-src-elem 指令指定了 JavaScript <script> 元素的有效来源。

这个指令仅在 <script> 元素(脚本请求和块)指定有效的来源。它不适用于触发脚本执行的其他 JavaScript 源,例如内联脚本事件处理程序(onclick)、在“unsafe-eval”(不安全地执行字符串表达式)检查下的脚本执行方法和 XSLT 样式表(可以使用 script-src 为所有 JavaScript 脚本源指定有效来源,也可以使用 script-src-attr 仅为内联样式脚本处理程序指定有效源)。

CSP 版本 3
指令类型 fetch 指令
default-src 回落 是。如果这个指令不存在,则用户代理将查找 script-src 指令,如果两个都不存在,则回落到 default-src 指令。

语法

script-src-elem 策略可以允许一个或者多个源:

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

script-src-elem 可以与 script-src 一起使用:

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

<source> 可以是 CSP 源值中的任意一个。

请注意,这套相同的值可以用于所有 fetch 指令(以及许多其他的指令)。

示例

违规的案例

给定此 CSP 标头:

http
Content-Security-Policy: script-src-elem https://example.com/

…以下脚本被阻止,不会加载和执行:

html
<script src="https://not-example.com/js/library.js"></script>

规范

Specification
Content Security Policy Level 3
# directive-script-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
script-src-elem

Legend

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

Full support
Full support

参见