缙哥哥有段时间开放注册,一堆“外国机器友人”(可能是wordpress国外用的多的原因吧)来注册,在加上缙哥哥的博客有注册提示和正确登陆提示,烦不胜烦。
通常网站的注册表单都使用验证码来进行验证,但是有没有考虑过使用验证问题来验证呢?使用问题验证的好处在于:
- 防止机器人注册(和验证码一样);
- 只有知道答案的人才能注册(可用于限制用户注册)。
下面将添加一个验证问题:缙哥哥的博客域名是什么?答案缙哥哥也写上:dujin.org并加以括号提示,目的就是防止随便注册。
将下面的代码添加到主题的 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]
当然了,自己别忘了修改问题,如果用这个问题,那么缙哥哥更高兴啦!哈哈哈
评论前必须登录!
注册