CSP 白名单实验
摘要
一个网页工具实验,展示了如何通过拦截 fetch 请求并提示用户将域名加入白名单,来处理沙箱 iframe 中的内容安全策略(CSP)错误。该工具通过 Codex 桌面应用使用 GPT-5.5 构建。
暂无内容
查看缓存全文
缓存时间: 2026/05/13 08:10
# 工具:CSP 允许列表实验
来源: https://simonwillison.net/2026/May/13/csp-allow/
2026年5月13日
工具CSP 允许列表实验 (https://tools.simonwillison.net/csp-allow)
这项实验表明,你可以在一个受 CSP 保护的沙盒 iframe 中加载应用(见前文笔记 (https://simonwillison.net/2026/Apr/3/test-csp-iframe-escape/)),并使用自定义的 `fetch()` 拦截 CSP 错误并将这些错误传递给父窗口……然后父窗口可以提示用户将该域名添加到允许列表中,并刷新页面。
网页工具“CSP Allow-list Experiment”的截图,带有“重置示例”、“清除允许列表”、“刷新预览”按钮。左侧面板显示以 <!doctype html> 开头的 HTML 源代码。右侧面板显示带有 CSP 头 default-src 'none'; script-src 'unsafe-inline'; style-s... 的“预览”,标题为“沙盒 fetch 测试”。tools.simonwillison.net 的模态对话框覆盖在上方,内容为:“沙盒尝试连接到:https://api.inaturalist.org 是否将此源添加到 CSP connect-src 允许列表并刷新页面?”下方有一个未勾选的复选框“不再提示来自 tools.simonwillison.net 的请求”以及“取消”和“确定”按钮。下方显示“来自沙盒的消息”,列出 fetch-catch 被阻止的 https://api.inaturalist.org/v1/observations?per... connect-src · https://api.inaturalist.org。左下角是“允许的 fetch() 源”,包含一个输入字段,其中有 https://api.github.com、一个“添加”按钮,以及一个标签 https://api.github.com x。
我用 Codex 桌面应用中运行的 GPT-5.5 xhigh 构建了这个。
发布于2026年5月13日 (https://simonwillison.net/2026/May/13/) 凌晨4:50
相似文章
构建 uMatrix 替代品
本文探讨了在 Chrome Manifest V3 下替换已弃用的 uMatrix 浏览器扩展的选项,提出了一种使用 declarativeNetRequest 和内容安全策略来控制网站权限和子资源请求的解决方案。
不久我们就能终于将 JavaScript 放逐至 ShadowRealm
本文探讨了 TC39 提出的 ShadowRealm 提案,该提案旨在允许在不使用 iframe 或 Web Workers 的情况下,在隔离环境(Realm)中执行 JavaScript,从而改善代码沙盒机制并提升性能。
离线 JS 沙盒
一个离线的 JavaScript 沙盒,可直接在 Chrome 中编写、运行和测试代码片段,非常适合快速实验和调试。
@svpino: 每个人都在阻止代理访问内容。浏览器指纹、付费墙、验证码——名单不胜枚举。B…
这条推文讨论了绕过内容封锁器的方法,如浏览器指纹、付费墙和验证码,并提供了一个便捷访问指南的链接。
你遇到的最糟的沙箱失败案例是什么?
一位开发者质疑IDE中对LLM命令沙箱化的充分性,并询问社区关于安全失败的经验。