缙哥哥的博客
与你分享我的点点滴滴生活

WordPress 注册表单添加验证问题(支持多个随机问题)

缙哥哥有段时间开放注册,一堆“外国机器友人”(可能是wordpress国外用的多的原因吧)来注册,在加上缙哥哥的博客有注册提示和正确登陆提示,烦不胜烦。

通常网站的注册表单都使用验证码来进行验证,但是有没有考虑过使用验证问题来验证呢?使用问题验证的好处在于:

  1. 防止机器人注册(和验证码一样);
  2. 只有知道答案的人才能注册(可用于限制用户注册)。

下面将添加一个验证问题:缙哥哥的博客域名是什么?答案缙哥哥也写上:dujin.org并加以括号提示,目的就是防止随便注册。

dujin20160608114447

将下面的代码添加到主题的 functions.php 即可:

[code lang=”” start=”” highlight=””] add_action( ‘register_form’, ‘add_security_question’ );
function add_security_question() { ?>

< ?php } add_action( 'register_post', 'add_security_question_validate', 10, 3 ); function add_security_question_validate( $sanitized_user_login, $user_email, $errors) { // 如果没有回答 if (!isset($_POST[ 'user_proof' ]) || empty($_POST[ 'user_proof' ])) { return $errors->add( ‘proofempty’, ‘错误: 您还没有回答问题(输入dujin.org即可)。’ );
// 如果答案不正确
} elseif ( strtolower( $_POST[ ‘user_proof’ ] ) != ‘dujin.org’ ) {
return $errors->add( ‘prooffail’, ‘错误: 您的回答不正确(输入dujin.org即可)。’ );
}
}
[/code] 当然了,自己别忘了修改问题,如果用这个问题,那么缙哥哥更高兴啦!哈哈哈

打赏
转载请注明来源于“缙哥哥的博客”及本文链接:缙哥哥的博客 » WordPress 注册表单添加验证问题(支持多个随机问题)
分享到: 更多 (0)