评论区人机验证hCaptcha接入CMS
评论区被垃圾评论刷屏时,把 hCaptcha 接入 CMS 是最直接的防刷手段之一。它的核心动作只有两步:前台加载 hCaptcha 验证组件,后台拿用户提交的 token 去 hCaptcha 官方接口校验;校验通过才写入评论。下面按注册密钥、配置、验证、排错的顺序讲清楚,零基础也能照着做。
## 先确认你的 CMS 属于哪种接入方式
不同 CMS 的评论区实现不一样,接入前先判断类型,否则容易改错文件。
- 原生评论系统:评论表单在主题模板里,通常是 `comments.php` 或类似文件,需要手动加验证脚本和校验逻辑。
- 插件式评论:后台已装评论插件,优先看插件设置里是否自带 hCaptcha 或通用验证码选项,有就直接填密钥,不要改代码。
- 前后端分离或自研评论接口:评论走独立 API,验证逻辑要加在后端接口里,前台只负责拿到 token 传过去。
判断方法很简单:打开评论提交页面,查看源码,如果能直接搜到评论表单的 `action` 地址,说明是传统表单提交;如果评论是点按钮后异步出现,多半走接口。
**结论:能用插件配置就优先用插件,改代码只作为没有现成选项时的方案。**
## 注册 hCaptcha 并拿到两个密钥
1. 打开 hCaptcha 官网,注册账号并登录后台。
2. 在站点管理里新增一个站点,填写你的域名。注意:免费版通常按域名授权,本地测试和正式域名要分别添加,否则验证会失败。
3. 添加后会得到两个值:`Site Key`(公开,放前台页面)和 `Secret Key`(私密,只放后端,绝不能写进前端 JS)。
4. 把这两个值先记到本地,后面配置要用。
如果后台提示需要验证域名所有权,按页面给出的方式操作即可;具体要求和免费额度建议以 hCaptcha 官方后台实际显示为准。
## 在前台评论表单加载验证组件
找到评论表单所在模板,在 `