如何使用 reCAPTCHA 阻止机器人在网站留言

猪腩肉

Author name

June 26, 2025


什么是 reCAPTCHA

reCAPTCHA 是由 Google 提供的免费反机器人服务,能识别人类与自动程序(Bot)的差异。它主要用于防止:

  • 垃圾评论
  • 表单滥用提交
  • 注册攻击
  • 登录爆破

它的工作原理是结合用户行为分析与挑战题检测,来判断访客是否为真人。


reCAPTCHA 的版本与区别

版本说明用户体验推荐用途
v2 Checkbox“我不是机器人”复选框需要点击验证表单、评论防护
v2 Invisible无需点击,自动后台判断完全无干扰注册、登录防护
v3后台打分机制(0.0~1.0)无感式分析高级用户行为评分系统

如何申请 reCAPTCHA

  1. 访问 Google reCAPTCHA 管理控制台:
    👉 https://www.google.com/recaptcha/admin/create
  2. 登录你的 Google 账号
  3. 填写注册信息:
  • 标签:网站标识(自定义)
  • 选择类型:v2 或 v3
  • 输入域名:如 example.com
  • 接受服务条款
  1. 提交后,你将获得:
  • Site Key
  • Secret Key

通过插件安装 reCAPTCHA

最推荐的插件是:

Simple Google reCAPTCHA 为例:

  1. 安装插件并启用
  2. 前往「设置」>「reCAPTCHA」
  3. 填入 Site Key 与 Secret Key
  4. 选择显示位置(评论表单、登录表单等)
  5. 保存设置即可生效

无需插件手动集成 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 是否生效

  1. 使用正常浏览器访问,确认是否提示人机验证
  2. 使用无头浏览器(如 curl 或 puppeteer)模拟提交,是否被拦截
  3. 检查后台统计(v3 会打分)
  4. 查看 Google 控制台统计图表,确认请求数量和验证成功率

常见问题(FAQ)

reCAPTCHA 免费吗?

是的,reCAPTCHA 所有版本完全免费。

我的网站不是 WordPress,可以用吗?

可以,reCAPTCHA 提供标准 HTML 与 API 方式,适用于任何站点。

使用 reCAPTCHA 会影响用户体验吗?

v3 完全不会;v2 Invisible 几乎无感;v2 Checkbox 需用户点击。

一个 reCAPTCHA 可以用于多个网站吗?

建议每个网站申请单独的 key,便于统计与管理。


FAQ Schema(结构化数据)


结语与推荐阅读

部署 reCAPTCHA 是提升网站安全的基本操作,特别适用于开放评论、登录、注册的站点。建议配合以下内容一起阅读:


📣 行动号召 CTA

  • reCAPTCHA
  • 网站安全
  • 阻止机器人
  • 反垃圾评论
  • WordPress 安全
  • HTML 表单保护
  • 无插件实现

Leave a Comment