CSP 白名单实验

Simon Willison's Blog 工具

摘要

一个网页工具实验,展示了如何通过拦截 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 替代品

Hacker News Top

本文探讨了在 Chrome Manifest V3 下替换已弃用的 uMatrix 浏览器扩展的选项,提出了一种使用 declarativeNetRequest 和内容安全策略来控制网站权限和子资源请求的解决方案。

不久我们就能终于将 JavaScript 放逐至 ShadowRealm

Lobsters Hottest

本文探讨了 TC39 提出的 ShadowRealm 提案,该提案旨在允许在不使用 iframe 或 Web Workers 的情况下,在隔离环境(Realm)中执行 JavaScript,从而改善代码沙盒机制并提升性能。

离线 JS 沙盒

Product Hunt

一个离线的 JavaScript 沙盒,可直接在 Chrome 中编写、运行和测试代码片段,非常适合快速实验和调试。