为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站点。


