WordPress 后台登录按钮验证

Blogych 1,462 0

通常,如果防护措施没有做好,WordPress后台就很容易被机器人穷举登录 [aru_4]。服务器的防护、优化通常是无法防住机器人的 [aru_11]。但是,我们可以添加人机验证来防护。

使用方法

复制代码并粘贴到 functions.php 的最后即可。[aru_115]

加法验证码

这是最常见的验证码。网上一搜一大把。为了方便大家,我也提供一段代码:

//后台登陆数学验证码
function myplugin_add_login_fields() {
	//获取两个随机数, 范围0~9
	$num1=rand(0,9);
	$num2=rand(0,9);
	//最终网页中的具体内容
    echo "<p><label for='math' class='small'>验证码</label><br /> $num1 + $num2 = ?<input type='text' name='sum' class='username' value='' size='25' tabindex='4'>"."<input type='hidden' name='num1' value='$num1'>"."<input type='hidden' name='num2' value='$num2'></p>";
}
add_action('login_form','myplugin_add_login_fields');

function login_val() {
	$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');

按钮验证码

这才是这次要讲的重点。看我的题目就知道。废话不说,上代码。

//添加按钮验证
function add_button() {
  	echo '<label for="TencentCaptcha" class="small">人机验证</label><br><input type="hidden" name="clicked" id="hiddenvar" value="no"><input type="button" onclick="button_done()" class="button button-primary" value="点击验证" id="btdone" style="float:none;width:100%">';
  	echo '<link href="https://cdnjs.cloudflare.com/ajax/libs/sweetalert/1.1.3/sweetalert.min.css" rel="stylesheet"><script src="https://cdnjs.cloudflare.com/ajax/libs/sweetalert/1.1.3/sweetalert.min.js"></script>';
  	echo '<script>function button_done(){swal({title:"验证成功",text:"验证成功!",type:"success",confirmButtonText:"确定"});document.getElementById("btdone").disabled=true;document.getElementById("btdone").value="您已经通过验证~";document.getElementById("btdone").innerHTML="disabled";document.getElementById("hiddenvar").value="yes";}</script>';
}
add_action('login_form','add_button');

function check_button() {
  	if($_POST['clicked']=='no') {
      	wp_die('错误:验证错误或尚未验证,请重试');
    }
}
add_action('login_form_login','check_button');

效果预览

效果预览

本篇完。[aru_42]

发表评论 取消回复
表情 图片 链接 代码

分享