WordPress网站注册表单添加验证时如何有效拦截机器人恶意注册?
在WordPress主题开发用户中心功能的时候发现WordPress本身的注册机制存在缺陷会容易被机器人恶意注…
在WordPress主题开发用户中心功能的时候发现WordPress本身的注册机制存在缺陷会容易被机器人恶意注册,就会产生大量的垃圾用户账号,所以需要添加一个验证功能,那么WordPress网站注册表单添加验证时如何有效拦截机器人恶意注册?
这个功能还是很方便实用的,只是在注册表单增加一行验证问题即可轻易解决。
将下方代码添加进function即可实现:
//WordPress 注册表单添加验证问题
add_action( ‘register_form’, ‘add_security_question’ );
function add_security_question() { ?>
<p>
<label><?php _e(‘本站名称’) ?><br />
<input type=”text” name=”user_proof” id=”user_proof” class=”input” size=”25″ tabindex=”20″ /></label>
</p>
<?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’, ‘<strong>错误</strong>: 您还没有回答问题。’ );
// 如果答案不正确
} elseif ( strtolower( $_POST[ ‘user_proof’ ] ) != ‘此处文字更换为你的站点名称’ ) {
return $errors->add( ‘prooffail’, ‘<strong>错误</strong>: 您的回答不正确。’ );
}
}
本文收集自互联网,转载请注明来源。
如有侵权,请联系 wper_net@163.com 删除。
评论功能已经关闭!