为WordPress网站后台登录添加登录算术验证码功能

为WordPress网站后台登录添加登录算术验证码功能,增强网站的安全性,搭配上Limit Login Attempts插件,将极大提升网站防御能力,避免坏分子通过账户密码破解登录攻击。

function login_val_fields() {
  //获取两个随机数, 范围0~9
  $num1 = rand(0,9);
  $num2 = rand(0,9);
  echo "<p><label for='math' class='small'>验证码</label> $num1 + $num2 = ?<input type='text' name='sum' class='input' value='' size='25' tabindex='4'>"."<input type='hidden' name='num1' value='$num1'>"."<input type='hidden' name='num2' value='$num2'></p>";
}
add_action('login_form','login_val_fields');
 
function login_val() {
  if(isset($_POST['sum'])){
    //获取用户提交的计算结果
    $sum=$_POST['sum'];
    switch($sum){
	//得到正确的计算结果则直接跳出
	case $_POST['num1']+$_POST['num2']:
        break;
	//未填写结果时的错误讯息
	case null:
           wp_die('错误: 请输入验证码.');
	break;
	//计算错误时的错误讯息
	default:
           wp_die('错误: 验证码错误,请重试.');
    }
  }
}
add_action('login_form_login','login_val');

把上面的代码添加到当前主题的functions.php文件中,当然本站开发的UWexp++插件已经集成该功能,欢迎大家使用本站的UWexp++插件,优化你的wordpress站点。

分享至:

刘春晓

春晓网创始人和主编。2011年毕业于河南大学新闻与传播学院,计算机和互联网爱好者。

您可能还喜欢...