Content-Security-Policy: script-src-attr 指令
HTTP Content-Security-Policy
(CSP) script-src-attr
指令指定 JavaScript 内联事件处理程序的有效来源。
此指令仅指定像 onclick
这样的内联脚本事件处理程序的有效来源。它不适用于可以触发脚本执行的其他 JavaScript 来源,例如直接加载到 <script>
元素和 XSLT 样式表中的 URL。(可以使用 script-src
为所有 JavaScript 脚本来源指定有效来源,或者使用 script-src-elem
仅为 <script>
元素指定有效来源。)
CSP 版本 | 3 |
---|---|
指令类型 | 获取指令 |
default-src 回退 |
是的。如果此指令缺失,用户代理将查找 script-src 指令,如果两者都缺失,则回退到 default-src 指令。 |
语法
http
Content-Security-Policy: script-src-attr 'none';
Content-Security-Policy: script-src-attr <source-expression-list>;
此指令可以具有以下值之一
'none'
-
不允许加载此类型的任何资源。单引号是强制性的。
<source-expression-list>
-
一个由源表达式值组成的空格分隔列表。如果资源类型与任何给定的源表达式匹配,则可以加载此类资源。对于此指令,以下源表达式值适用:
script-src-attr
可以与 script-src
结合使用,并将覆盖该指令以检查内联处理程序
http
Content-Security-Policy: script-src <source>;
Content-Security-Policy: script-src-attr <source>;
示例
违规案例
给定此 CSP 头
http
Content-Security-Policy: script-src-attr 'none'
...以下内联事件处理程序将被阻止,不会被加载或执行
html
<button id="btn" onclick="doSomething()"></button>
请注意,通常您应该用 addEventListener
调用替换内联事件处理程序
js
document.getElementById("btn").addEventListener("click", doSomething);
规范
规范 |
---|
内容安全策略级别 3 # 指令-script-src-attr |
浏览器兼容性
加载中…