WordPress技巧:后台登陆添加上算数验证码
总有些莫名其妙的人试图通过对后台的暴力破解来获取用户的密码,我们可以通过以下的方法,在后台登陆页面添加上算数验证码,进一步提高 WordPress 的安全性,有效的阻击后台登陆的暴力破解。
将下列代码放置到主题模板函数 functions.php 中:
//后台登陆数学验证码
function login_math_captcha() {
//获取两个随机数, 范围0~9
$num1 = rand(0, 9);
$num2 = rand(0, 9);
//最终网页中的具体内容
echo "<p><label for='captcha'>验证码:$num1 + $num2 = ?</label><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_math_captcha');
function login_captcha() {
$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_captcha');