security - Cross-Origin-Embedder-Policy:如何只允许某些域?
问题描述
在一个网站上,我必须在我的网站上嵌入一个需要以下标头的 iframe,因为它需要 SharedArrayBuffer 功能:
Cross-Origin-Embedder-Policy: require-corp
Cross-Origin-Opener-Policy: same-origin
不幸的是,我的页面中仍然需要的第 3 方服务 IFRAME 不再加载。即使打开了嵌入式策略,有没有办法允许第三方域?
谢谢。达里奥。
解决方案
如果加载到 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
推荐阅读
- amazon-web-services - AWS IoT:多个 IoT Registry 来拆分应用程序
- python - 带有 sympy 的矩阵值函数的泰勒展开
- java - 反序列化后有没有办法在承包商之后调用方法
- c# - 在 Visual Studio 中根据解决方案配置使用不同的 appsetting.json 文件
- r - 如何在 bookdown/knitr/Rmarkdown 中添加交叉引用补充数字
- sql - 使用 regexp_substr 的 Sql 查询很慢,一旦在表中插入更多记录就会超时
- jestjs - 如何在 Jest 测试框架中创建 mockObject 而无需担心对象的属性
- php - 每次运行更新时,Composer 交替删除/重新安装相同的包
- wpf - 如何从模板外部但在同一个窗口中的资源字典绑定到控件模板内的元素?
- css - 是否可以仅使用 CSS 更改修改后的输入字段的样式?