reCaptcha 国内无法加载解决方案(original by xmdhs)
经常浏览国外网站的网友可能会发现,在某些网站注册或登录账号,或者执行某项操作时,都会要求完成 reCaptcha。
但是很可惜,在中国国内,大部分 reCaptcha 验证码压根就无法正常显示(除非翻墙),导致无法完成在某某网站的相应的操作。
我相信,这肯定惹火了很多国内网友。
原方案地址(by xmdhs): minecraft官网谷歌验证码的解决方案(recaptcha)
目前本方案支持 Chrome 电脑版 和 Firefox(手机和电脑版都可以)。根据所使用的浏览器的不同有不同的操作方法。
第一步 下载 GooReplacer 插件
GooReplacer 是一个用于将网页中的文件地址重定向至其他地址的插件。这个教程基于这个插件。
如果你能够翻墙,可以去 Chrome 网上应用店 上进行下载。当然你就不用看这篇文章了。
如果你不会翻墙:
目前暂时没有方法。因为据 xmdhs 反馈,Chrome 离线插件安装的方法不好使。在这种情况下,建议使用 Firefox(在国内能使用 Firefox 的所有功能)。
由于 FireFox 的所有服务在国内都可以直接访问,因此,只需要在“附加组件管理器”中直接搜索安装即可。
当然可以通过这个链接直接去下载这个插件:点我去 gooreplacer 插件首页!
第二步 配置重定向
接下来打开 gooreplacer 的设置页面,如图所示。
点击 Add,添加下面的重定向:
www.google.com/recaptcha recaptcha.net/recaptcha
输入完成后点 Sumbit,最后你的 gooreplacer 设置应该是这样的:
然后就可以了。接下来再来试试看,之前无法加载的 reCaptcha 现在正常了。
为什么 reCaptcha 在国内无法正常显示?
自2014年5月27日后,Google 公司的各项服务遭到疑似来自中国官方的防火长城的恶意干扰,导致中国大陆地区的用户无法正常使用其服务的事件。自当天起,来自中国大陆的用户发现 Google 旗下的各个分站以及 Google 的其他服务(Google 搜索、Google Play、Gmail 等)均无法正常访问与使用,所有 google.cn 以外的 Google 服务均受影响无法使用,用户甚至无法登陆 Google 账户。然而,不同于 2009 年至 2013 年仅针对敏感时期的行为规律,六四 25 周年纪念日结束后攻击者对 Google 的干扰仍未停止。——维基百科
而 reCaptcha 人机验证就是 Google 的服务之一。所以,reCaptcha 也没能逃过这次封锁,才导致国内 reCaptcha 验证码无法显示。
这个方案的原理是什么?
有很多人都不知道,reCaptcha 在国内有个镜像:recaptcha.net。这个地址还是可以正常访问的,不受封锁的影响。
国内的站长如果想用 reCaptcha 肯定都会使用这个镜像地址。但是,国外可和国内不一样,大部分国家都没封锁 Google,所以大部分网站的 reCaptcha 的调用清一色都是直接调用 Google 域名的。然而 Google 的域名早就在国内封的干干净净了。这就是导致国外网站中的 reCaptcha 验证码大部分在国内都加载不出来的原因了。
而 gooreplacer 的目的,就是在浏览器加载 reCaptcha 之前把加载地址换成国内的可用镜像地址(recaptcha.net),这样就正常了。
这个解决方案对哪些网站无效?
对那些使用了 Content-Security-Policy 属性的网站无效。Content-Security-Policy 属性会验证资源的地址,导致更换的镜像地址被阻止。如果你查看了 F12,会发现很多类似下面的错误信息:
Refused to load the script ‘xxx’ because it violates the following Content Security Policy directive
如果出现这类问题,请参考我本人的方案: Google 人机验证(reCaptcha)解决方案(可解决 CSP 问题)
到时候有什么需要补充的我会继续补充。
欢迎回复报告本文章的问题。
我换了域名 改为了 xmdhs.ooo
所以现在是https://xmdhs.ooo/mcbbs.html
.ooo 域名竟然免费送一年
等下会更新你那个链接
话说你那个域名的 WHOIS 可以在 ICANN 上查到
不过 很感谢这个方案的原作者来我的博客上回复~
话说我还不是很会用 WordPress….
将前端代码引入的js路径 https://www.google.com/recaptcha/api.js 替换成 https://recaptcha.net/recaptcha/api.js 即可解决国内不能访问的问题
这就是这个方案的原理。我博客的 recaptcha 也是这么做的
现在也不行了好像,还是会访问一个google的js。。。
完美解决无法读取recaptcha验证图片的问题。
赞。
感谢分享!
请问前端代码引入的js路径 替换怎么实现
我怎么操作了还不能用了
嗯嗯
博主你好,用了你的方法,登陆shutterstock的投稿者账户,验证码还是出不来,什么原因呢,浏览器是火狐
是否有出现问题的截图呢
你好大佬,我想把你这篇解决方案转载到NGA上可以吗?
允许,注明原文地址即可
大哥,paradox账户改密码还是出现这个recapcha,求指点
未知问题,有时间看下什么原因
求個詳細教程
我的zotero注册还是有这个问题,求解https://www.zotero.org/user/register/
依旧不行,blc的还是有问题