Google recaptcha v3-获取控制台错误 net::ERR_BLOCKED_BY_RESPONSE 200 [关闭]

Posted

技术标签:

【中文标题】Google recaptcha v3-获取控制台错误 net::ERR_BLOCKED_BY_RESPONSE 200 [关闭]【英文标题】:Google recaptcha v3- getting console error net::ERR_BLOCKED_BY_RESPONSE 200 [closed] 【发布时间】:2021-11-30 03:39:51 【问题描述】:

Google recaptcha v3- 在我的网站上正常运行, 但我收到控制台错误 net::ERR_BLOCKED_BY_RESPONSE 200 我该如何解决这个错误?

谢谢

【问题讨论】:

【参考方案1】:

在过去的几天里,我在控制台中间歇性地收到相同的错误。即使 Recaptcha 脚本在我网站的所有页面上,也只有一些页面会显示这些控制台错误。在 Chrome 的 DevTools 的 Network 选项卡中更深入地查看它,它有这样的消息:

"NOT-SET cross-origin-embedder-policy 将此框架嵌入到您的 文档,响应需要启用跨域嵌入器 通过指定以下响应标头来策略: Cross-Origin-Embedder-Policy: require-corp"

DevTools 提供的更多信息:

“因为您的网站具有跨域嵌入器政策 (COEP) 启用后,每个嵌入式 iframe 还必须指定此策略。这 行为保护私人数据不被暴露给不受信任的第三方 聚会场所。

要解决这个问题,请将以下内容添加到嵌入框架的 html 响应中 标头:Cross-Origin-Embedder-Policy: require-corp

受影响的资源:

阻止的资源 > 请求:webworker.js?hl=en&v=...

父框架:www.google.com/recaptcha/api2/anchor?ar=1...

通过https://web.dev/coop-coep/了解更多信息

这似乎是 Google 为 Google 制造的问题。我们不能修改父框架(谷歌的)响应头。

我在不同的浏览器中做了进一步的测试,这个错误似乎只出现在基于 Chromium 的浏览器上,即 Chrome 和 Edge。我还提交了铬项目https://bugs.chromium.org/p/chromium/issues/detail?id=1259354的新问题@

更新 Chromium 浏览器团队找到了解决方案。

Recaptcha 团队正在将 COEP 强制实施推出归零。 结果应该是全面的 COEP 仅报告标题,其中 应该可以解决这个问题。

根本原因(据我了解)是 COEP 执行状态不 在“锚”文档和“webworker.js”资源之间同步。 Source

【讨论】:

【参考方案2】:

当我设置以下标题时,这个问题就消失了:

X-Frame-Options:“SAMEORIGIN”

您可以在 .htaccess 中快速测试:

标题附加 X-Frame-Options: "SAMEORIGIN"

确保您在 apache 中启用了“headers”模块!

【讨论】:

以上是关于Google recaptcha v3-获取控制台错误 net::ERR_BLOCKED_BY_RESPONSE 200 [关闭]的主要内容,如果未能解决你的问题,请参考以下文章

Google reCaptcha v3 与 google reCaptcha Enterprise

使用 ng-recaptcha 将 Google reCaptcha v3 集成到 Angular 应用程序中

Google Recaptcha v3 示例演示

带有 Google Recaptcha v3 的 Django 联系表

测试新的Google reCAPTCHA v3

Google 的 reCAPTCHA v3 的工作原理