缙哥哥的博客
与你分享我的点点滴滴生活

WordPress 注册表单添加验证问题(支持多个随机问题)

缙哥哥有段时间开放注册,一堆“外国机器友人”(可能是wordpress国外用的多的原因吧)来注册,在加上缙哥哥的博客有注册提示和正确登陆提示,烦不胜烦。

通常网站的注册表单都使用验证码来进行验证,但是有没有考虑过使用验证问题来验证呢?使用问题验证的好处在于:

  1. 防止机器人注册(和验证码一样);
  2. 只有知道答案的人才能注册(可用于限制用户注册)。

下面将添加一个验证问题:缙哥哥的博客域名是什么?答案缙哥哥也写上:dujin.org并加以括号提示,目的就是防止随便注册。

dujin20160608114447

将下面的代码添加到主题的 functions.php 即可:

add_action( 'register_form', 'add_security_question' );
function add_security_question() { ?>


	<label>< ?php _e('缙哥哥的博客域名是什么?答案[dujin.org]') ?>
		<input type="text" name="user_proof" id="user_proof" class="input" size="25" tabindex="20" /></label>
	

< ?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>: 您还没有回答问题(输入dujin.org即可)。'  );
	// 如果答案不正确
	} elseif ( strtolower( $_POST[ 'user_proof' ] ) != 'dujin.org' ) {
		return $errors->add( 'prooffail', '<strong>错误</strong>: 您的回答不正确(输入dujin.org即可)。'  );
	}
}
当然了,自己别忘了修改问题,如果用这个问题,那么缙哥哥更高兴啦!哈哈哈

历史上的今天:

  1. 2019年:  《Adobe Photoshop Lightroom CC 2019(8.1)中文破解直装版》- 作者:缙哥哥(250)
  2. 2019年:  《Navicat Premium 数据库连接软件 12.1.19 安装与激活》- 作者:缙哥哥(0)
  3. 2019年:  《WordPress的MySQL数据库过大该如何导入导出》- 作者:缙哥哥(5)
  4. 2019年:  《Steam 游戏限时免费 Polygoneer 多边形射击(支持中文)》- 作者:缙哥哥(2)
  5. 2018年:  《用针少、疗效卓越的张氏配穴八法》- 作者:缙哥哥(0)
赞(0) 打赏
转载请注明来源及链接:缙哥哥 » WordPress 注册表单添加验证问题(支持多个随机问题)
分享到: 更多 (0)

评论 抢沙发

评论前必须登录!

 

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

微信扫一扫打赏