MDN page on Content Security Policy directives表示不推荐使用frame-src,应该使用child-src。但是,当我尝试使用child-src时,Firefox 37会出现以下错误消息
Content Security Policy: Couldn't process unknown directive 'child-src' <unknown>
这种明显缺乏支持的记录(据我所知)是令人沮丧的。有没有记录浏览器支持的地方?
目前我除了使用child-src之外还使用frame-src,这似乎有效。但是,我现在想知道两者之间是否存在任何冲突可能性。推测支持child-src的浏览器会忽略frame-src?这有保证吗?
答案 0 :(得分:40)
更新: 2017年1月:
停止使用child-src
并再次开始使用frame-src
。
为了制造更多的混淆,CSP Level 3已经不推荐frame-src
并且实际上重新指定它是实现这一目标的首选方式。虽然仍然支持child-src
,但再次首选frame-src
。
旧帖子
frame-src
已弃用,但最近才在CSP Level 2中使用,并且并非所有浏览器都符合规范的最新版本。
目前实现最大浏览器兼容性的最佳方法是将child-src
和frame-src
包含在相同的值中。仅支持原始CSP规范的浏览器将使用frame-src
,而较新的浏览器将使用child-src
。
开发者控制台警告不重要,仅仅是信息性的。我建议你现在忽略它,因为从现在起一年你可能会看到一个人说frame-src
已被弃用。
此时,我确保在需要时使用这两者并打算在2017年1月停止提供frame-src
。
CSP 2级支持: