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 应用程序中