首页 > 解决方案 > 我能否以编程方式检测是否发生了 CORB 错误?

问题描述

我正在寻找一种方法来以编程方式检测(使用 JavaScript)我的页面上的资源加载(我可以完全控制)是否被Cross-Origin Resource Blocking 阻止

例如,由于来自的响应https://example.com具有 Content-Type text/html; charset=UTF-8,因此以下 HTML 代码将在基于 Chromium 的浏览器中触发 CORB 错误:

<script src="https://example.com"></script>

但是我怎样才能检测到它发生了呢?简单地error在脚本元素上添加事件处理程序是行不通的;例如,以下代码不会打开对话框:

<script src="https://example.com" onerror="alert('CORB!')"></script>

请注意,我对修复CORB 错误或检查CORB 错误的内容感兴趣;我只对以编程方式检测是否发生 CORB 错误感兴趣。这甚至可能吗?

标签: javascriptchromiumdetectioncross-origin-read-blocking

解决方案


我很高兴被证明是错误的,但是根据我目前所读到的内容,以编程方式检测是否发生了 CORB 错误是不可能的,至少在一般情况下是这样。

但是,在某些情况下,您可能会跨域泄漏一些信息:

跨域读取阻止 (CORB) 是一种 Web 平台安全功能,旨在减少 Spectre 等投机性侧信道攻击的影响。不幸的是,阻止某些类型的请求引入了一种新类型的 XS-Leaks,它允许攻击者检测是否对一个请求强制执行了 CORB,但对另一个请求没有强制执行。

(来源:https ://xsleaks.dev/docs/attacks/browser-features/corb/ )


推荐阅读