最近星速云wordpress进行了一次改版,改版后使用了TML用户自定义登录注册插件,但是发现一个很严重的问题,那就是突然开始出现很多恶意注册用户,搞的是很烦人,所以就想着添加一个注册时的验证,到网上搜到很多,比如使用极验的方法,但是还要注册账号什么的,比较麻烦,不太想用。那就继续找,终于发现一个纯代码实现的方法。具体…

最近星速云wordpress进行了一次改版,改版后使用了TML用户自定义登录注册插件,但是发现一个很严重的问题,那就是突然开始出现很多恶意注册用户,搞的是很烦人,所以就想着添加一个注册时的验证,到网上搜到很多,比如使用极验的方法,但是还要注册账号什么的,比较麻烦,不太想用。那就继续找,终于发现一个纯代码实现的方法。具体如下:

把下面这段代码添加到自己的functions.php,其中的验证问题我使用了本站的域名“www.seo628.com”,你也可以改成其他内容。注意改的时候,代码第四行和倒数第四行都有,要改两处哦

add_action( 'register_form', 'add_security_question' );function add_security_question() { ?>    <p>    <label><?php _e('请输入本站域名:www.seo628.com') ?><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' ] ) != 'www.seo628.com' ) {        return $errors->add( 'prooffail', '<strong>错误</strong>: 您的回答不正确。'  );    }}
声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。