我有一个 couchapp,多年来一直在 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 响应标头包括Content-Security-Policy: sandbox
我在本地 LAN 上有此数据库的副本,它没有此问题,并且其响应标头不包含此问题。
我根本没有更改 couchapp 或任何配置,因此 Cloudant 一定更改了某些配置。我注意到 Cloudant 已于 10 月 14 日更新到 2.96,这与时间吻合,但我在发行说明中没有看到任何提及沙箱或内容安全策略的内容。
The Couchdb 文档 https://docs.couchdb.org/en/3.1.2/config/misc.html#csp提到与 CSP 相关的配置变量,但我在 Cloudant 仪表板中找不到任何方法来更改这些配置设置,在 Cloudant 文档中也找不到任何提及它的内容。
这是 Cloudant 方面的配置错误吗?如果是,他们是否有可能逆转它?如果没有,是否有办法更改我的网站的此配置或任何其他解决方法?
更新:我有一个想法,也许我可以通过包含一个来覆盖这个<meta http-equiv="Content-Security-Policy"
标签在文档中,但根据 CSP 文档,sandbox
不允许出现在元标记中。
不幸的是,CouchApps 将不再在 Cloudant 上运行。正如所解释的在这篇博文中 https://blog.cloudant.com/2021/10/20/CouchApps-no-longer-work.html a new Content-Security-Policy: sandbox
标头已添加到所有附件提取中。这会阻止 JavaScript 执行,因此基于 JavaScript 的 CouchApp 将停止运行。
更改的原因是为了缓解这种情况CVE https://docs.couchdb.org/en/stable/cve/2021-38295.html.
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)