程序问答   发布时间:2022-06-01  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了子域上的 iframe 中的 chrome recaptcha allowall大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。

如何解决子域上的 iframe 中的 chrome recaptcha allowall?

开发过程中遇到子域上的 iframe 中的 chrome recaptcha allowall的问题如何解决?下面主要结合日常开发的经验,给出你关于子域上的 iframe 中的 chrome recaptcha allowall的解决方法建议,希望对你解决子域上的 iframe 中的 chrome recaptcha allowall有所启发或帮助;

我正在使用 Google 的 reCaptcha,它在子域中运行良好,但是当我尝试使用 iframe 在主站点中显示该子域的页面时,API.Js 和 webworker.Js 最终使用 SAMEORIGIN 并导致 Chrome不显示文件。子域在 x-frame-options 上显示为 ALLOWALL,但这两个返回 SAMEORIGIN,导致 Chrome 生气并将其放回 Deny。

我可以将 API.Js 文件复制到子域站点,这会导致该文件的 x-frame-options 为 ALLOWALL,但 reCaptcha 代码最终加载了 webworker.Js,它从谷歌加载,我无法改变这一点。我什至不确定它在哪里加载,因为它不在 API.Js 文件中。

除了将子域代码完全移到主站点之外还有什么建议吗?我将无法将 recaptcha 移动到主站点,因为它会在 iframe 之外运行。

解决方法

Chrome 和其他浏览器真正支持除 DENY 和 SAMEORIGIN 之外的任何内容。解决方案是设置 Content-Security-Policy 并将 frame-ancestors 指令设置为应该允许框架的所有(子)域。这通常是“'self' subdomain.example.com”或简单的“*.example.com”。 IE 不会理解它并因此忽略它,理解它的其他浏览器现在将忽略 X-Frame-Options。

大佬总结

以上是大佬教程为你收集整理的子域上的 iframe 中的 chrome recaptcha allowall全部内容,希望文章能够帮你解决子域上的 iframe 中的 chrome recaptcha allowall所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。