CSP:style-src-attr
HTTP Content-Security-Policy
(CSP) style-src-attr
指令指定了应用于单个 DOM 元素的内联样式的有效来源。
该指令不会设置 <style>
元素和具有 rel="stylesheet"
的 <link>
元素的有效来源。这些是使用 style-src-elem
设置的(所有样式的有效来源可以使用 style-src
设置)。
CSP 版本 | 3 |
---|---|
指令类型 | 获取指令 |
default-src 回退 |
是。如果此指令不存在,用户代理将查找 |
语法
可以为 style-src-attr
策略允许一个或多个来源
http
Content-Security-Policy: style-src-attr <source>;
Content-Security-Policy: style-src-attr <source> <source>;
style-src-attr
可以与 style-src
结合使用
http
Content-Security-Policy: style-src <source>;
Content-Security-Policy: style-src-attr <source>;
来源
示例
违规情况
给定此 CSP 头
http
Content-Security-Policy: style-src-attr 'none'
…应用于以下元素的内联样式将不会应用
html
<div style="display:none">Foo</div>
该策略还会阻止通过设置 style
属性直接在 JavaScript 中应用的任何样式,或者通过设置 cssText
js
document.querySelector("div").setAttribute("style", "display:none;");
document.querySelector("div").style.cssText = "display:none;";
直接在元素的 style
属性上设置的样式属性不会被阻止,允许用户通过 JavaScript 安全地操作样式
js
document.querySelector("div").style.display = "none";
请注意,使用 JavaScript 可能独立地被 script-src
CSP 指令阻止。
规范
规范 |
---|
内容安全策略级别 3 # directive-style-src-attr |
浏览器兼容性
BCD 表格仅在浏览器中加载