WordPress模板插件定制

您现在的位置是:首页 > WordPress教程WordPress教程

如何在WordPress中添加Google Recaptcha

查看 WP集市 的更多文章WP集市 2025-08-26 【WordPress教程】 1370人已围观

  1. 首先你得有个Google账号,然后去recaptcha官网(https://www.google.com/recaptcha)注册个密钥对。选v2版本那个"我不是机器人"的复选框,因为兼容性最好。把生成的两个密钥复制到记事本备用,就像这样
站点密钥:6LcAbcQZAAAAAE6bJvxxxxxx  
秘密密钥:6LcAbcQZAAAAALO3yyyyyyy
  1. 进到WordPress后台,装个插件叫"Google Captcha (reCAPTCHA) by BestWebSoft"。虽然名字长但好用,直接搜就能找到。安装激活后,到设置页面把那俩密钥填进去,位置在「BWS Plugins」->「reCAPTCHA」->「通用」标签页里。

  2. 不想用插件?也行。打开你主题的functions.php文件(记得先备份!),塞下面这段代码:

// 在表单加载时引入recaptcha脚本
function add_recaptcha_script() {
    wp_enqueue_script('google-recaptcha', 'https://www.google.com/recaptcha/api.js', array(), null, true);
}
add_action('wp_enqueue_scripts', 'add_recaptcha_script');

// 在登录表单添加recaptcha框
function add_recaptcha_to_login() {
    echo '<div class="46a2-8110-de79-67da g-recaptcha" data-sitekey="你的站点密钥"></div>';
}
add_action('login_form', 'add_recaptcha_to_login');

// 验证recaptcha响应
function verify_recaptcha($user, $password) {
    if (isset($_POST['g-recaptcha-response'])) {
        $response = wp_remote_post('https://www.google.com/recaptcha/api/siteverify', array(
            'body' => array(
                'secret' => '你的秘密密钥',
                'response' => $_POST['g-recaptcha-response']
            )
        ));

        $data = json_decode(wp_remote_retrieve_body($response));
        if (!$data->success) {
            wp_die('验证码验证失败,可能是机器人操作');
        }
    }
    return $user;
}
add_filter('wp_authenticate_user', 'verify_recaptcha', 10, 2);
  1. 这时候你刷新登录页面,应该能看到那个经典的"我不是机器人"复选框。打勾后登录,要是验证失败会直接提示错误——这比直接让机器人乱试强多了。

  2. 如果想加到评论表单里,可以复用上面的逻辑,但要用'comment_form_after_fields'钩子。不过注意啊,有些主题可能自己改了评论模板,这时候就得找主题的comments.php文件,在submit按钮前加个div:

<div class="de79-67da-4021-00c4 g-recaptcha" data-sitekey="你的站点密钥"></div>
  1. 最后记得测试下。先故意不勾选直接提交,看会不会报错;然后正确勾选再试。有时候缓存会捣乱,测试时最好开无痕窗口。

这样搞完,你的WordPress站点基本能挡掉大部分机器人和自动脚本了。虽然不能100%防住,但总比裸奔强对吧?毕竟现在爬虫那么多,加个验证码就像给门加把锁——虽然专业小偷还能撬开,但至少能防住路边顺手牵羊的。

Tags:

WordPress模板插件定制

WP集市

V管理员
文章 723 篇 | 评论 0 次
最新文章