title | slug |
---|---|
CSP: script-src-elem |
Web/HTTP/Headers/Content-Security-Policy/script-src-elem |
{{HTTPSidebar}}
HTTP {{HTTPHeader("Content-Security-Policy")}}(CSP 内容安全性策略)中的 script-src-elem
指令指定了 JavaScript {{HTMLElement("script")}} 元素的有效来源。
这个指令仅在 <script>
元素(脚本请求和块)指定有效的来源。它不适用于触发脚本执行的其他 JavaScript 源,例如内联脚本事件处理程序(onclick
)、在“unsafe-eval”(不安全地执行字符串表达式)检查下的脚本执行方法和 XSLT 样式表(可以使用 {{CSP("script-src")}} 为所有 JavaScript 脚本源指定有效来源,也可以使用 {{CSP("script-src-attr")}} 仅为内联样式脚本处理程序指定有效源)。
CSP 版本 | 3 |
---|---|
指令类型 | {{Glossary("Fetch directive","fetch 指令")}} |
{{CSP("default-src")}} 回落 |
是。如果这个指令不存在,则用户代理将查找 {{CSP("script-src")}} 指令,如果两个都不存在,则回落到 default-src 指令。
|
script-src-elem
策略可以允许一个或者多个源:
Content-Security-Policy: script-src-elem <source>;
Content-Security-Policy: script-src-elem <source> <source>;
script-src-elem
可以与 {{CSP("script-src")}} 一起使用:
Content-Security-Policy: script-src <source>;
Content-Security-Policy: script-src-elem <source>;
<source>
可以是 CSP 源值中的任意一个。
请注意,这套相同的值可以用于所有 {{Glossary("fetch directive", "fetch 指令")}}(以及许多其他的指令)。
给定此 CSP 标头:
Content-Security-Policy: script-src-elem https://example.com/
…以下脚本被阻止,不会加载和执行:
<script src="https://not-example.com/js/library.js"></script>
{{Specifications}}
{{Compat}}
- {{HTTPHeader("Content-Security-Policy")}}(内容安全策略)
- {{HTMLElement("script")}}
- {{CSP("script-src")}}
- {{CSP("script-src-attr")}}