
您现在的位置是:首页 > WordPress教程WordPress教程
如何在WordPress中添加Google Recaptcha
WP集市
2025-08-26
【WordPress教程】
1370人已围观
- 首先你得有个Google账号,然后去recaptcha官网(https://www.google.com/recaptcha)注册个密钥对。选v2版本那个"我不是机器人"的复选框,因为兼容性最好。把生成的两个密钥复制到记事本备用,就像这样:
站点密钥:6LcAbcQZAAAAAE6bJvxxxxxx
秘密密钥:6LcAbcQZAAAAALO3yyyyyyy
-
进到WordPress后台,装个插件叫"Google Captcha (reCAPTCHA) by BestWebSoft"。虽然名字长但好用,直接搜就能找到。安装激活后,到设置页面把那俩密钥填进去,位置在「BWS Plugins」->「reCAPTCHA」->「通用」标签页里。
-
不想用插件?也行。打开你主题的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);
-
这时候你刷新登录页面,应该能看到那个经典的"我不是机器人"复选框。打勾后登录,要是验证失败会直接提示错误——这比直接让机器人乱试强多了。
-
如果想加到评论表单里,可以复用上面的逻辑,但要用'comment_form_after_fields'钩子。不过注意啊,有些主题可能自己改了评论模板,这时候就得找主题的comments.php文件,在submit按钮前加个div:
<div class="de79-67da-4021-00c4 g-recaptcha" data-sitekey="你的站点密钥"></div>
- 最后记得测试下。先故意不勾选直接提交,看会不会报错;然后正确勾选再试。有时候缓存会捣乱,测试时最好开无痕窗口。
这样搞完,你的WordPress站点基本能挡掉大部分机器人和自动脚本了。虽然不能100%防住,但总比裸奔强对吧?毕竟现在爬虫那么多,加个验证码就像给门加把锁——虽然专业小偷还能撬开,但至少能防住路边顺手牵羊的。
Tags:
文章版权声明:除非注明,否则均为WP集市原创文章,转载或复制请以超链接形式并注明出处。

热门文章
