最近星速云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>: 您的回答不正确。' ); }}
声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。
评论(0)