问题标签 [cross-origin-read-blocking]
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.
asp.net-core - 返回由 CORB 阻止的 Challenge() (ASP.NET Core)
我已经使用 Microsoft.AspNetCore.Identity 和外部登录以及 Angular 8 前端构建了一个 ASP.NET Core 网站。这基本上是我控制器中的代码:
因此,当访问/web/Account/connect/Facebook时,您应该获得 Facebook 登录页面。成功登录后,FB 将重定向到 ExternalLoginCallback,应用程序将处理登录(创建帐户,登录)。
现在看来我被CORB击中了(以前从未听说过)。我知道 CORS,但 CORB 对我来说是新的。
您可以在这里一窥动作。
- 请打开一个访客窗口(为了不自动登录)
- 按 F12 打开开发者工具
- 导航到https://mintplayer.com/account/login
- 单击社交登录按钮,弹出窗口出现但带有角度应用程序的 404 页面(这也是误导)
- 按 F12 打开弹出窗口的开发人员工具
- 出现以下消息
跨域读取阻止 (CORB) 阻止了跨域响应 https://www.facebook.com/login.php?skip_api_login=1&api_key=...&kid_directed_site=0&app_id=...&signed_next=1&next=...&display= page&locale=nl_NL&pl_dbl=0 ,MIME 类型为 text/html。有关详细信息,请参阅 https://www.chromestatus.com/feature/5629709824032768 。
该应用程序始终显示 NotFoundComponent,但只有在按下 ctrl+F5(清除缓存)后才会显示 Facebook 登录页面。现在缓存清除与它无关,问题肯定是CORB。
return Challenge() 似乎正在立即从 Facebook 呈现登录页面,而我自己的 URL 上没有 iframe。
我不明白我应该如何解决这个问题。我是否应该Access-Control-Allow-Origin
在响应中添加标题以允许我的应用程序加载/重定向到 Facebook/Twitter/Google/Microsoft 登录页面?但我不打算肯定允许所有来源......
PS。它在 localhost/development 上运行良好。
信息:
版本信息:
- ASP.NET 核心:3.1
- Microsoft.AspNetCore.Identity.EntityFrameworkCore:3.1.1
- Microsoft.AspNetCore.Authentication.MicrosoftAccount:3.1.1
- @角/核心:~8.1.1
- @角/pwa:^0.803.23
编辑:
好的,当我尝试浏览我的站点地图时:https ://mintplayer.com/Sitemap我得到了相同的结果,相同的行为与以下控制台警告:
资源解释为样式表,但使用 MIME 类型 application/xml 传输:“ https://mintplayer.com/assets/sitemap.xsl ”。
javascript - 使用 AudioContext API Safari 在 HTML5 音频元素中阻止跨源?
使用 AudioContext API 时,跨域请求被阻止。
为了解决这个问题,您可以像这样初始化音频元素:
这在 FF 和 Chrome 中可以正常工作,但在 OSX 上的 Safari 中不行?
Safari 是否仍然不支持crossorigin
HTML5 媒体元素中的标签?
如果没有,是否有任何解决方法?
我正在使用它通过 https 流式传输音频,因此不适合通过 XHR 加载对象。
android - 未捕获的安全错误:阻止了具有来源的帧。“https://www.payumoney.com”。协议、域和端口必须匹配
payumoney 集成到我的网站中,现在我在我的移动网络视图中使用它。但它给了我这个问题并且页面不加载。它显示白屏而不是页面。
未捕获的安全错误:阻止具有来源“ https://checkout.citruspay.com ”的框架访问具有来源“ https://www.payumoney.com ”的框架。协议、域和端口必须匹配。
有谁知道如何克服这个安全问题?
javascript - 使用 POST 请求的 fetch 反应 CORS 问题
我有一个在http://localhost:10080/v1 [我无法更改 api 的代码] 上运行的 api。我已经构建了一个反应应用程序来将一些发布数据发送到该 api。React 应用程序在http://localhost:3000上运行
当我更改为时mode
,cors
我的跨域请求被阻止。当我更改mode
为 时no-cors
,我收到415-Unsupported Media Type
错误,因为当我们禁用 cors 时,我们无法更改请求标头(在其他答案和文档中给出)。如何克服这一点并向该 api 发送发布请求?
html - IMG 标签采购 AWS S3 失败 - CORB?
我想在 AWS 存储桶上托管 Web 项目的图像,然后在呈现 HTML 时动态拉取它们。这给我带来的麻烦比我预期的要多得多。
这是有问题的标签:
当我这样做时,我收到一个跨域读取阻止 (CORB) 错误(在检查器中;我正在运行 Chrome)——显然,Chrome 在某些情况下会阻止链接到其他网站上的 img 源?粗略的搜索把我带到了这里(zyst.io/how-to-fix-aws-s3-chrome-and-safari-cors-on-images),但我不知道如何应用它。此外,这篇文章针对的是 CORS,而不是 CORB(我认为它是更新的?)。
java - Java Rest 方法返回结果,但接收时出错 -Access-Control-Allow-Origin' 缺失
当从 rest 方法返回时,我有这个特定的模型抛出“(原因:CORS 标头'Access-Control-Allow-Origin'丢失)。” 收到时。但是当我尝试返回其他模型时,它被成功接收。我已经把@CrossOrigin
我的控制器。
这是我的模型/班级
控制器
角服务
我有这个拦截器
整个设置适用于其他模型。我只有这个特定的模型,CORS
在收到时会返回错误。请帮我解决CORCS问题。
javascript - 如何重构拖放文件 Chrome 扩展以解决 CORB 错误
我有一个旧的 Chrome 扩展程序,它向带有文件上传的站点添加了拖放功能。该站点在一个子域上有页面(例如:https : //foo.site.com/page1.php、https://foo.site.com/page2.php ..),而上传端点位于另一个子域(例如:https ://bar.site.com/upload.php )。从某些以前的 Chrome 版本开始,由于更严格的 CORS 规则,该扩展程序停止工作。上传文件的 POST 似乎成功了,但是响应因 CORB 错误而被阻止,我需要响应才能知道文件的新远程路径在哪里。
根据 Google 的指南,我尝试通过将请求从内容脚本移动到后台脚本来进行重构。但是,我不知道如何使用后台脚本共享拖放到页面上的文件。这是一些示例代码:
内容.js:
background.js(还有一些其他的逻辑可以让消息以这个方法结束,但它确实以文件和回调结束):
我看到的这个问题是file
背景页面上的结尾是一个空对象。我相信我在某处读到,使用消息 API 发送的任何内容都需要是 JSON 可序列化的,所以我假设File
不是?如果我也尝试发送FormData
对象,我也会得到相同的行为。我也尝试过以某种方式获取文件路径并在后台页面中重新创建文件的路线,但显然出于安全原因,您无法从 JS 中的系统文件中获取路径。
有没有办法修复这个扩展?我不拥有此扩展程序尝试添加功能的站点,因此我无法将上传端点移动到同一个子域。
cross-domain - Spring REST 安全测试 - 跨域问题
我正在开发 Spring Boot 和 Spring Rest 应用程序。安全测试报告了这个问题
“Web 应用程序或服务使用 HTTP 响应标头 Access-Control-Allow-Origin 通知 Web 客户端允许的域。标头可以包含一个 '*' 表示允许所有域。”
补救 -
仅在需要跨域访问的选定 URL 上使用 Access-Control-Allow-Origin 标头。不要将标头用于整个域。
在发出 HTTP 请求时,他们使用了origin: null
, 然后Access-Control-Allow-Origin: *
我该如何实施?