Table of Contents
什么是 reCAPTCHA
reCAPTCHA 是由 Google 提供的免费反机器人服务,能识别人类与自动程序(Bot)的差异。它主要用于防止:
- 垃圾评论
- 表单滥用提交
- 注册攻击
- 登录爆破
它的工作原理是结合用户行为分析与挑战题检测,来判断访客是否为真人。
reCAPTCHA 的版本与区别
版本 | 说明 | 用户体验 | 推荐用途 |
---|---|---|---|
v2 Checkbox | “我不是机器人”复选框 | 需要点击验证 | 表单、评论防护 |
v2 Invisible | 无需点击,自动后台判断 | 完全无干扰 | 注册、登录防护 |
v3 | 后台打分机制(0.0~1.0) | 无感式分析 | 高级用户行为评分系统 |
如何申请 reCAPTCHA
- 访问 Google reCAPTCHA 管理控制台:
👉 https://www.google.com/recaptcha/admin/create - 登录你的 Google 账号
- 填写注册信息:
- 标签:网站标识(自定义)
- 选择类型:v2 或 v3
- 输入域名:如
example.com
- 接受服务条款
- 提交后,你将获得:
- Site Key
- Secret Key
通过插件安装 reCAPTCHA
最推荐的插件是:
以 Simple Google reCAPTCHA 为例:
- 安装插件并启用
- 前往「设置」>「reCAPTCHA」
- 填入 Site Key 与 Secret Key
- 选择显示位置(评论表单、登录表单等)
- 保存设置即可生效
无需插件手动集成 reCAPTCHA
以下以 v2 Checkbox 为例:
1️⃣ 在 HTML 表单中添加:
<form action="verify.php" method="post">
<div class="g-recaptcha" data-sitekey="你的 Site Key"></div>
<input type="submit" value="提交">
</form>
<script src="https://www.google.com/recaptcha/api.js" async defer></script>
2️⃣ 在服务器端验证(PHP 示例):
$recaptcha_secret = "你的 Secret Key";
$response = $_POST["g-recaptcha-response"];
$verify = file_get_contents("https://www.google.com/recaptcha/api/siteverify?secret={$recaptcha_secret}&response={$response}");
$captcha_success = json_decode($verify);
if ($captcha_success->success) {
echo "验证成功";
} else {
echo "请完成人机验证";
}
如何测试 reCAPTCHA 是否生效
- 使用正常浏览器访问,确认是否提示人机验证
- 使用无头浏览器(如 curl 或 puppeteer)模拟提交,是否被拦截
- 检查后台统计(v3 会打分)
- 查看 Google 控制台统计图表,确认请求数量和验证成功率
常见问题(FAQ)
reCAPTCHA 免费吗?
是的,reCAPTCHA 所有版本完全免费。
我的网站不是 WordPress,可以用吗?
可以,reCAPTCHA 提供标准 HTML 与 API 方式,适用于任何站点。
使用 reCAPTCHA 会影响用户体验吗?
v3 完全不会;v2 Invisible 几乎无感;v2 Checkbox 需用户点击。
一个 reCAPTCHA 可以用于多个网站吗?
建议每个网站申请单独的 key,便于统计与管理。
FAQ Schema(结构化数据)
结语与推荐阅读
部署 reCAPTCHA 是提升网站安全的基本操作,特别适用于开放评论、登录、注册的站点。建议配合以下内容一起阅读:
📣 行动号召 CTA
reCAPTCHA
网站安全
阻止机器人
反垃圾评论
WordPress 安全
HTML 表单保护
无插件实现