Iframe 来自serviceworker的CSP沙箱

Iframe 来自serviceworker的CSP沙箱,iframe,http-headers,service-worker,sandbox,content-security-policy,Iframe,Http Headers,Service Worker,Sandbox,Content Security Policy,我在iframe中提供来自服务人员的本地生成的不可信内容 我试图完全锁定iframe,以便它只能从它的srcdoc加载资源,而srcdoc被serviceworner截获。这意味着没有来自任何其他域的img等,但允许javascript 为了实现这一点,我添加了CSP:sandboxallow脚本;默认src“自我”数据:;脚本src“self”“unsafe inline”;在服务人员服务的所有资产上,包括iframe根目录 加载iframe根文档工作正常。但是在iframe中加载一个带有相对

我在iframe中提供来自服务人员的本地生成的不可信内容

我试图完全锁定iframe,以便它只能从它的srcdoc加载资源,而srcdoc被serviceworner截获。这意味着没有来自任何其他域的img等,但允许javascript

为了实现这一点,我添加了CSP:sandboxallow脚本;默认src“自我”数据:;脚本src“self”“unsafe inline”;在服务人员服务的所有资产上,包括iframe根目录

加载iframe根文档工作正常。但是在iframe中加载一个带有相对url的图像(来自同一来源)并不会影响服务工作者,而是会进入父域,从而得到404。如果我从CSP中删除了沙盒属性,则会加载映像,但我会失去安全性

有没有办法让它发挥作用? 我这里有一个演示:

我在服务工作者中应用CSP头: