这次和大家分享是给注册页面添加算术校验。因为和登录页面一样,注册页面也经常被机器人利用,比如批量注册一堆账号用于展示垃圾广告,这会给我们带来很大的维护成本。我们可以直接关闭掉WordPress的注册功能(设置-常规-任何人都可以注册取消勾选即可)来彻底解决这种问题。不过如果不方便关掉注册功能,那么不妨试一试提供的这个教程吧。
给WordPress注册页面添加算术校验
本文依旧是一共提供两种改造方式,一种是代码方式,比较适合熟悉WordPress的,一种是插件方式,比较适合刚用WordPress的。两种方式选择一种即可。
1、代码方式添加
首先分享的是通过代码方式给WordPress添加注册算术校验。话不多说,直接上代码。
编辑主题的functions.php文件,在文件末尾添加以下代码:
/** 添加注册校验 **/ add_action( 'register_form', 'wp_register_verification_code' ); add_action( 'register_post', 'wp_register_verification_code_register', 10, 3 ); function wp_register_verification_code() { $num3 = rand( 0, 9 ); $num4 = rand( 0, 9 ); echo "<p><label for='captcha2'>验证码 $num3 + $num4 = ?</label><input type='text' name='sum2' id='captcha2' class='input' value='' size='20'>"."<input type='hidden' name='num3' value='$num3'>"."<input type='hidden' name='num4' value='$num4'></p>"; } function wp_register_verification_code_register( $sanitized_user_login, $user_email, $errors ) { $sum2 = $_POST[ 'sum2' ]; switch( $sum2 ) { case $_POST[ 'num3' ] + $_POST[ 'num4' ]: break; case null: wp_die( '错误:请输入验证码!' ); break; default: wp_die( '错误:验证码错误,请重试!' ); } }
2、插件方式添加验
插件方式非常简单,下载并安装以下插件,启用后即可立即生效。