本研究证实,在沙盒 iframe 中运行的 JavaScript 无法绕过或禁用通过 meta 标签定义的 CSP 策略,因为该策略在解析时即被强制执行。
📝 详细摘要
Simon Willison 调查了在沙盒 iframe 中使用 CSP meta 标签以防止不受信任的 JavaScript 逃逸的安全性。这对于构建“Artifacts”风格功能且希望避免多域名托管复杂性的开发者尤为重要。他在 Chromium 和 Firefox 上的测试表明,一旦 标签在 iframe 顶部被解析,即使后续脚本试图删除或修改它,或者文档导航到 data URI,它依然保持有效。
💡 主要观点
- CSP meta 标签一旦被浏览器解析即不可更改。 即使恶意或不受信任的脚本试图删除或修改 meta 标签,浏览器最初的强制执行在整个文档生命周期内依然有效。
💬 文章金句
- 在 sandbox="allow-scripts" iframe 内运行的 JavaScript 无法逃逸或禁用 ` 标签。
` 标签,即使后续不受信任的 JavaScript 试图操纵它们,这些策略依然会被遵守。
📊 文章信息
AI 评分:88
来源:Simon Willison's Weblog
作者:Simon Willison
分类:软件编程
语言:英文
阅读时间:1 分钟
字数:128
标签: CSP, Iframe 沙盒, Web 安全, JavaScript, 内容安全策略