哪些 HTML 元素是不可分割的?

问题描述

内容安全策略的上下文中,可以有一些元素被排除在策略之外,如果它们具有相应策略中指定的 nonce 属性。

显然这适用于一些 HTML 元素,例如<script nonce="..."><style nonce="..."。然而,对于某些人来说,它不起作用,例如 <iframe nonce="..." >

MDN Documentation 中写着提示:

注意: CSP nonce 源只能应用 nonceable 元素(例如,<img> 元素没有 nonce属性,无法将其与此 CSP 源关联)。

是否有完整的不可识别元素列表? MDN 列出了脚本和样式标签的 nonce 属性。另一方面,对于 nonce 元素,<link> 属性列出,但仍然有效。还有更多这样的元素吗?

附带问题:为什么 <img><iframe> 不是 nonceable?

解决方法

在 MDN 文档中写了提示:

Note: The CSP nonce source can only be apply nonceable elements (e.g. as the <img>

是的,同时 2018 年 6 月 25 日发布的 Firefox v52.9 支持 <img><iframe><object ><embed>、{{1 }} 和 <audio>。如果您有 WinXP PC,则可以ensure that

如上面的测试所示,目前只有 <video><style> 是 nonceables,尽管 CSP3 没有限制对任何 HTML 元素使用 nonce。

相关问答

错误1:Request method ‘DELETE‘ not supported 错误还原:...
错误1:启动docker镜像时报错:Error response from daemon:...
错误1:private field ‘xxx‘ is never assigned 按Alt...
报错如下,通过源不能下载,最后警告pip需升级版本 Requirem...