当我们逛国外的网站时会发现大量的网站都使用 Google reCAPTCHA 进行用户行为验证,比如注册、登录、发帖、评论。reCAPTCHA 很实用,但是在中国大陆的网站中并不常见,最主要的原因还是那堵看不见的“墙”。
眼哥在 WordPress 上试验过数不清的验证插件,有自动判断型、小学算术型、文字专家型、点按型、拖动型还有拼图型,最后都不如 reCAPTCHA 来的好用。其实 Google 针对部分国家的封锁提供了官方的解决方案——通过替换 api 的网址来绕过封锁。
Google reCAPTCHA 官方说明: https://developers.google.cn/recaptcha/docs/faq#can-i-use-recaptcha-globally
下面我们在 WordPress 上进行实操。
安装插件
我们选择人气比较高的 Google Captcha (reCAPTCHA) by BestWebSoft ,可以从后台搜索下载,或者点击链接下载再到后台上传安装。
修改插件代码
先不要启动插件,点击 WordPress 后台 – 插件 – 插件编辑器,选择 Google Captcha 的 google-capcha.php ,搜索 www.google.com
,全部更改成 www.recaptcha.net
,保存更改。
小技巧
一个个网址修改起来很麻烦?把整个代码复制到本地,用本地文本编辑器(推荐 Notepad++)替换文本之后再复制到后台保存就很快了。
如果是 Linux 独立服务器/VPS,建议编写 Shell 脚本处理:WP-CLI + Linux Shell 一键更新、修改 Google Captcha 插件
配置插件
将插件启用之后需要进行配置。首先到 Google reCAPTCHA 官网申请秘钥: https://www.google.com/recaptcha/admin/create ,将申请到的两个秘钥填入插件后台:
reCAPTCHA Version 要和申请秘钥时的选择相符,否则插件无法使用。填写完成后点击 Test Verification 按钮进行验证,确保插件正常工作。
推荐配置
以下是眼哥在多个站点测试后得出的建议:
使用 V2 版
V2 需要手动点击验证按钮,而且大部分时候都会弹出验证图片,对使用体验有一定影响。但是至少 V2 是可见的,访客很容易理解哪里出现了错误,而不是向 V3 那样报一个不明所以的提示。
勾选所有场景
建议将登录、注册、重置密码、评论都勾选,保护站点安全、减少广告和垃圾评论。
针对特定用户隐藏验证
插件后台有一个 Hide reCAPTCHA for 的设置,针对已登录的账户可以设置跳过验证,建议将管理员勾选上,没有必要自己给自己验证。
插件加载完之前禁止提交
建议开启 Advanced Protection,避免别有用心之人通过阻止插件的加载来绕过验证。但是如果出现加载失败的提示,建议将其关闭。
验证通过之前禁止提交
Disabled Submit Button 这个功能只对 V2 有效,开启之后只有验证通过表单的提交按钮才会生效,否则点击提交是没有任何反馈的。