如何在中国内地使用 Google reCAPTCHA?

reCAPTCHA 是 Google 的一套人机验证系统

虽然这不是一件鲜为人知的事情,但想了想,我还是写出来吧。不然我的博客都快“发霉”了,哈哈哈……

Google reCAPTCHA 主要通过 www.google.com 提供服务,显然我们无法通过中国内地网络访问这个域名上的网页及相关资源。

但是 Google 在其他域名上也部署了 Google reCAPTCHA 服务,并且还贴心地接入了中国内地服务器。在简单地更换调用 Google reCAPTCHA 的域名后,即可在中国内地使用 Google reCAPTCHA 了。

可供中国内地用户访问的域名目前有两个,www.recaptcha.netrecaptcha.google.cn。两者都使用了全球 CDN,更换域名不会降低任何一个地区用户的体验。但 google.cn 是已备案域名,而 recaptcha.net 没有备案。所以建议中国内地境内的网站使用 recaptcha.google.cn,境外则使用 www.recaptcha.net

以 reCAPTCHA v3 为例,调用它的代码为:

<script src="https://www.google.com/recaptcha/api.js"></script>

我们只需要将 www.google.com 替换成 www.recaptcha.netrecaptcha.google.cn 即可。

值得注意的是,如果你需要使用 CSP 限制资源来源,切记将 https://www.gstatic.cn/recaptcha/ 加上,不要只允许了 api.js 的域名和 gstatic.com。中国内地用户加载的资源来源于 gstatic.cn 而不是 gstatic.com,这是唯一的不同之处。

除了自己使用外,如果看到有网站使用 Google reCAPTCHA 但不是通过 www.recaptcha.net 调用的,也可以向他们反馈一下,看看能不能切换到 www.recaptcha.net。如果网站有使用 CSP 的话,记得别忘了提醒 CSP 的问题。

清靈語
平凡人做平凡事。
Guangzhou, China