wordpress注册用户添加问题验证
使用 wordpress 的用户对大量机器评论的垃圾信息深恶痛绝吧,wordpress 不仅防止垃圾评论信息是弱项,而且大量的注册垃圾用户也是头疼的事情,解决掉这种机器批量注册的情况大多用户都选择了使用验证码插件,使用验证码插件可以可以防止大多机器人注册的情况,这里再介绍一种验证问答的方法,只有知道答案的用户都可以进行注册,将下面的代码添加到主题的 functions.php 即可:
[code lang="php"]
add_action( 'register_form', 'add_security_question' );
function add_security_question() { ?>
add( 'proofempty', '错误: 您还没有回答问题。' );
// 如果答案不正确
} elseif ( strtolower( $_POST[ 'user_proof' ] ) != v7v3' ) {
return $errors->add( 'prooffail', '错误: 您的回答不正确。' );
}
}
[/code]
另外还可以添加多个随机问题,代码如下:
[code lang="php"]
function rand_reg_question(){
$register_number=rand(0,1); // 设置随机数的返回范围
$_SESSION['register_number']=$register_number;
}
add_action('login_head','rand_reg_question');
global $register_questions;
global $register_answers;
// 添加问题数组
$register_questions=array('中国的首都在哪里?','Googl
e是哪个国家的公司?');
// 添加答案数组(与上面的问题对应)
$register_answers=array('北京','美国');
add_action( 'register_form', 'add_security_question' );
function add_security_question() {
global $register_questions;
$register_number=$_SESSION['register_number'];
?>
add( 'proofempty', '错
误: 您还没有回答问题。' );
} elseif ( strtolower( $_POST[ 'user_proof' ] ) != $r
egister_answers[$register_number] ) {
return $errors->add( 'prooffail', '错
误: 您的回答不正确。' );
}
}
[/code]
问题和答案可以自己进行修改,现在刷新下注册页面看一下是否已经添加了问题验证的效果。