首页 > 解决方案 > Cross-Origin-Embedder-Policy:如何只允许某些域?

问题描述

在一个网站上,我必须在我的网站上嵌入一个需要以下标头的 iframe,因为它需要 SharedArrayBuffer 功能:

Cross-Origin-Embedder-Policy: require-corp
Cross-Origin-Opener-Policy: same-origin

不幸的是,我的页面中仍然需要的第 3 方服务 IFRAME 不再加载。即使打开了嵌入式策略,有没有办法允许第三方域?

谢谢。达里奥。

标签: securityiframeiframe-appcross-origin-embedder-policycross-origin-opener-policy

解决方案


如果加载到 iframe 中的文档是跨域的,则需要发送以下两个 header:

Cross-Origin-Embedder-Policy: require-corp
Cross-Origin-Resource-Policy: cross-origin

如果有困难,请注册一个原始试验以暂时免除您的域的要求。这将使您的网站至少在 Chrome 上使用没有 COOP/COEP 标头的 SharedArrayBuffer。

与此同时,标准机构正在努力引入一个选项来加载 iframe,而不需要这些标头。了解更多信息:

https://github.com/camillelamy/explainers/blob/master/anonymous_iframes.md


推荐阅读