在 内容安全策略 的背景下,如果特定策略中规定的元素具有
显然,这对某些 HTML 元素有效,例如
在 MDN 文档中写道:
附带问题:为什么
nonce
属性,则可以将这些元素排除在策略之外。显然,这对某些 HTML 元素有效,例如
<script nonce="...">
和 <style nonce="..."
。但是,对于某些元素,例如 <iframe nonce="..." >
,它不起作用。在 MDN 文档中写道:
是否有可应用 nonce 属性的完整元素列表? MDN 列出了 script 和 style 标签的注意: CSP
nonce
源仅适用于可应用 nonce 属性的元素(例如<img>
元素无nonce
属性,因此无法与此 CSP 源相关联)。
nonce
属性。另一方面,<link>
元素没有列出 nonce
属性,但是它仍有效。还有其他类似的元素吗?附带问题:为什么
<img>
和 <iframe>
不可应用 nonce 属性?
Script
/Style
元素是可随机值属性的,考虑到这个问题的观看人数和点赞数,如果不是真的,现在应该已经有人注意到并发表评论了..... - Martinscript
和style
元素的nonce。在https://w3c.github.io/webappsec-csp/#match-element-to-source-list中的算法中,参见第2步:*如果类型为“script”或“style”,并且§ 6.6.3.1返回“Nonceable”的元素是否具有nonce?* 在https://w3c.github.io/webappsec-csp/#is-element-nonceable中,“元素是否具有nonce?”算法本身并不仅仅检查`script`和`style`元素-但是目前规范仅针对`script`和`style`元素调用该算法。因此,如果您在任何其他元素上放置nonce,则规范要求浏览器忽略它。 - sideshowbarker