Cloudant couchapp 突然失败并出现 CSP 沙箱错误

Cloudant couchapp fails suddenly with CSP sandbox error

我有一个沙发应用程序,多年来一直在 Cloudant 免费计划中托管。几天前它开始失败:html、css 和 img 文件加载但它不加载任何 js。浏览器控制台错误是:

Blocked script execution in 'https://b482ecaa-1ac2-4933-bec9-ecade207eea0-bluemix.cloudant.com/wxd/_design/app/index.html' because the document's frame is sandboxed and the 'allow-scripts' permission is not set.

index.html 响应 headers 包括 Content-Security-Policy: sandbox

我在本地 LAN 上有这个数据库的副本,它没有这个问题,它的响应 headers 不包括这个。

我根本没有更改 couchapp 或任何配置,因此 Cloudant 一定更改了一些配置。我注意到 Cloudant 在 10 月 14 日更新到 2.96,这与时间一致,但我在发行说明中没有看到任何提到沙箱或 Content-Security-Policy.

的内容

Couchdb docs 提到了与 CSP 相关的配置变量,但我找不到任何方法来在 Cloudant 仪表板中更改这些配置设置,我也找不到在 Cloudant 文档中提及它。

这是 Cloudant 方面的配置错误吗?如果是,他们是否有可能纠正它?如果没有,是否有办法为我的站点更改此配置或任何其他解决方法?

更新:我有一个想法,也许我可以通过在文档中包含一个 <meta http-equiv="Content-Security-Policy" 标签来覆盖它,但是根据 CSP 文档,元标签中不允许使用 sandbox

遗憾的是,CouchApps 将不再 运行 Cloudant。正如所解释的 in this blog post 一个新的 Content-Security-Policy: sandbox header 已添加到所有附件提取中。这会阻止 JavaScript 执行,因此 JavaSript-based CouchApps 将停止运行。

更改的原因是为了缓解这种情况CVE