Simon Willison's Weblog

CSP Allow-list Experiment

7.8内容质量
CSP Allow-list Experiment

TL;DR · AI 摘要

CSP Allow-list Experiment展示了如何在受保护的沙盒iframe中加载应用程序,并通过自定义`fetch()`拦截CSP错误,提示用户将该域添加到允许列表中,从而刷新页面。

核心要点

  • 可以通过自定义`fetch()`拦截CSP错误并提示用户更新允许列表。
  • 实验使用了GPT-5.5 xhigh在Codex桌面应用中构建。
  • 此工具可以帮助开发者更好地理解和处理CSP相关的安全问题。

结构提纲

按章节快速跳转。

  1. 介绍CSP Allow-list Experiment的基本概念和目的。

  2. 详细说明如何在受保护的沙盒iframe中加载应用程序,并通过自定义`fetch()`拦截CSP错误。

  3. 描述用户如何通过提示添加域名到允许列表来解决CSP错误。

  4. 介绍实验的技术细节,包括使用的工具和技术。

  5. 总结实验的意义和对未来开发的影响。

思维导图

用一张图看清主题之间的关系。

查看大纲文本(无障碍 / 无 JS 友好)
  • CSP Allow-list Experiment

金句 / Highlights

值得收藏与分享的关键句。

  • 可以通过自定义`fetch()`拦截CSP错误并提示用户更新允许列表,从而解决CSP限制的问题。

    第2段

    ⬇︎ 下载 PNG𝕏 分享到 X
  • 实验使用了GPT-5.5 xhigh在Codex桌面应用中构建,展示了最新的AI技术在开发中的应用。

    第3段

    ⬇︎ 下载 PNG𝕏 分享到 X
  • 此工具可以帮助开发者更好地理解和处理CSP相关的安全问题,提高应用程序的安全性和用户体验。

    第4段

    ⬇︎ 下载 PNG𝕏 分享到 X
#CSP#安全#前端开发#实验工具
打开原文

工具:CSP 允许列表实验

Simon Willison 的博客

订阅

WorkOS 赞助——使用单点登录 (SSO)、SCIM、RBAC 等功能,让您的应用程序为企业做好准备。

2026 年 5 月 13 日

工具CSP 允许列表实验

一个实验展示了如何在一个受 CSP 保护的沙盒 iframe 中加载一个应用程序(参见先前的笔记),并实现一个自定义的 fetch() 函数来拦截 CSP 错误,并将其传递给父窗口……然后提示用户将该域名添加到允许列表中并刷新页面。

图片 1:名为“CSP 允许列表实验”的网页工具截图,带有重置示例、清除允许列表、刷新预览按钮。左侧面板显示 HTML 源代码,以<!doctype 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。
图片 1:名为“CSP 允许列表实验”的网页工具截图,带有重置示例、清除允许列表、刷新预览按钮。左侧面板显示 HTML 源代码,以<!doctype 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 日凌晨 4:50

最近的文章

这是 Simon Willison 的一篇报道,发布于2026 年 5 月 13 日

iframes 23安全 603内容安全策略 11

月度简报

每月赞助我 10 美元,即可获得当月最重要的大型语言模型 (LLM) 发展的精选电子邮件摘要。

付费让我发送更少的内容!

赞助并订阅