hCaptcha人机验证接入CMS
很多站长发现,CMS 开放评论后不久就会涌入大量垃圾评论,手动删除根本忙不过来。给评论表单加一层人机验证是最省事的拦截方式,hCaptcha 免费额度足够个人站点使用,接入也不复杂。下面按零基础也能照做的顺序,讲清楚从获取密钥到验证生效的完整流程。
## 动手前需要确认的几件事
接入 hCaptcha 不需要改动数据库,但需要你能编辑主题文件。提前确认以下几点,能避免改到一半卡住:
- CMS 后台可以正常登录,并且有主题文件编辑权限(宝塔面板路径通常在 `/www/wwwroot/你的站点/wp-content/themes/当前主题/`)。
- 站点已经开启 HTTPS。hCaptcha 要求页面通过 HTTPS 加载,否则验证组件可能不显示。
- 能访问 hCaptcha 官网注册账号。如果服务器在国内且无法直连,需要先确认网络出口是否正常。
- 备份当前主题的 `functions.php` 和评论模板文件,改错时可以快速还原。
## 注册 hCaptcha 并拿到两把密钥
1. 打开 hCaptcha 官网,用邮箱注册并登录。
2. 进入控制台,点击新建站点(New Site)。
3. 填写站点域名,例如 `example.com`,不要带 `http://` 或路径。
4. 提交后会得到两个值:**Site Key**(前端公钥)和 **Secret Key**(服务端私钥)。
5. 把 Secret Key 保存到只有自己能看的地方,不要写进前端 JavaScript。
Site Key 会出现在页面源码里,属于公开信息;Secret Key 用于服务端向 hCaptcha 发起校验,泄露后别人可以伪造验证结果,所以务必保密。
## 在评论表单插入验证组件
以常见的 WordPress 类 CMS 为例,评论表单模板一般是主题目录下的 `comments.php`。找到 `