gpt4 book ai didi

javascript - 为什么我可以在 JS 中设置样式而不违反内容安全策略 style-src 'self' ?

转载 作者:数据小太阳 更新时间:2023-10-29 05:32:34 28 4
gpt4 key购买 nike

设置style-src'self'通过 style 禁用内联样式标签或 style属性。这按预期工作。添加 style通过 JS 的元素也被阻止。

但我真的很惊讶我仍然可以设置 HTMLElement 的属性的 style目的。例如,这不会触发 CSP 违规:

document.getElementById('test').style.backgroundImage = 'url("image.png")';

这如何防止攻击,如描述的那些 herehere

最佳答案

大概是因为如果您已经允许脚本注入(inject),样式修改是您最不担心的事情。

样式元素和属性被阻止以防止可以没有 JS 的恶意破坏。如果有人正在修改 DOM 本身(而不仅仅是表示),那无论如何都要严重得多。

您提供的第二个链接与此无关;该演示不再启动,但显然它正在做的是链接到一个引用页面,就好像它是一个样式表,并利用一些有效的 css 已经在两个位置的引用页面中植入的事实来处理中间文本作为图像 URL。 CSP 在那里不相关,因为攻击来自另一个方向;攻击链接页面将被故意设置为允许加载外部样式表。 (我不认为可以在 HTTP 响应上为 css 文件本身设置 CSP header ——或其他被视为 CSS 的文件——以禁止外部链接到它,尽管我可能是错的。)

关于javascript - 为什么我可以在 JS 中设置样式而不违反内容安全策略 style-src 'self' ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36870421/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com