问题标签 [cross-origin-embedder-policy]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
sandbox - Chrome 扩展沙盒 iFrame 中的 SharedArrayBuffer
我试图SharedArrayBuffer
通过设置一个跨域隔离的文档来使用。但是,由于它位于 Google Chrome 扩展程序中并且我需要 WebAssembly,因此我需要在沙盒页面中运行它。
我有一个沙盒页面,在 manifest.json 中定义为这样
而且我还使用 COOP 和 COEP 启用了跨域隔离。
除了使用这个sandbox.html
脚本之外什么都不做:
然后我有一个outer.html
嵌入sandbox.html
iFrame 的页面。
当我打开时outer.html
,我收到消息“BAD am not crossOriginIso”,即sandbox.html
iFrame 内的文档不是跨域隔离的(我不能使用SharedArrayBuffer
)。
有没有办法在内部文档被沙盒化的 iFrame 中使用清单 v3 在 Chrome 扩展中启用跨域隔离(通过manifest.json
)。
也许更具体地说,如何featurePolicy.allowedFeatures()
向沙盒 iFrame 添加更多内容(它是在 Chrome 扩展程序的沙盒中manifest.json
,而不是sandbox
属性)。
我注意到以下几点:
- 没有iFrame直接打开
sandbox.html
,页面是跨域隔离的。 - 删除该
sandbox
属性会manifest.json
导致 iframe 内的文档被跨域隔离。 - 在 iFrame 内执行
document.featurePolicy.allowedFeatures()
会提供非常小的功能列表(并且不包括cross-origin-isolated
)。这个列表比sandbox.html
直接打开时执行相同的命令要小很多。
reactjs - 新 SDK (v2) 中的 Cloudinary CORS
我正在使用cloudinary服务在我的反应应用程序中显示图像,方法是使用与TS一起使用的React SDK v2的新测试版。我正在使用文档中描述的功能,但作为回报我有
ERR_BLOCKED_BY_RESPONSE.NotSameOriginAfterDefaultedToSameOriginByCoep 200
这是我的代码:
我是 CORS 使用的新手,所以我可能遗漏了一些东西,但在新的 SDK 中,我找不到应该添加标题以允许 CORS 的任何地方。
有人能帮我吗?
node.js - 指定跨域资源策略以防止资源被阻止
我正在尝试访问我的电影 API,该 API 通过 React 应用程序返回包括电影海报图像在内的数据。正在从外部网站请求此图像。每次我向\movies
端点发出请求时,图像都会被阻止,并且我会在控制台中收到以下消息
net::ERR_BLOCKED_BY_RESPONSE.NotSameOriginAfterDefaultedToSameOriginByCoep 200
在“网络”选项卡中查看请求时,我收到以下消息说启用跨域资源策略
我正在使用 CORS npm 模块,该模块以前用于解决我的 Access-Control-Allow-Origin 错误问题。我添加了一些额外的中间件来尝试按照说明添加标题。这是带有该代码的 app.js 服务器
应用程序.js
执行此操作后,控制台会抛出相同的错误,并且仍未设置跨域资源策略。我的方法或文件结构的方式有问题吗?
security - Cross Origin Embedder Policy unsafe-none 选项不会禁用 CORS 策略
我正在学习网络安全的 COOP 和 COEP 功能。此处的规范https://html.spec.whatwg.org/multipage/origin.html#coep表示带有 unsafe-none 指令的 COEP 将允许获取跨域资源,因此它不会被 CORS 协议阻止。我编写了一个小示例 index.html 文件,它尝试从远程获取图像文件,但即使我将跨域嵌入策略响应标头设置为“不安全”,它也会被阻止。
我在某个地方有什么误解吗?我希望在 COEP unsafe-none 设置的提取操作中禁用 CORS 协议。
http - CORP 使用 CSP 沙箱集阻止明显同源请求
想象一个有两个文档的站点:index.html
和test.jpg
,都位于根目录。index.html
有以下内容。
如果没有安全标头,这工作得很好。但是,使用这些标题index.html
:
这个标题在test.jpg
:
test.jpg
Chrome 98 将不再加载它。它net::ERR_BLOCKED_BY_RESPONSE.NotSameOrigin 200
在控制台中报告。
添加以下标头index.html
将导致图像也被 Firefox 97 阻止:
(我知道这是很多指令,但我试图将它们一分为二,但无法弄清楚。)
What is happening here? https://example.com
and https://example.com/test.jpg
are the same origin, aren't they? Explicitly navigating to https://example.com/index.html
also blocks the loading of test.jpg
. What is missing from my understanding of same-origin? Why is there a difference between Chrome and Firefox's handling? Why does adding CSP cause Firefox to start blocking the requests for test.jpg
?
In case I missed something, here are the complete set of headers for each request (from cURL):