• 原森林之家(foresthouse.cn)改为走私范(zousifan.com),只是改个名内容不变。
  • 网站图片自建立开始到19年全部丢失,血的教训时刻备份,多点备份!

网站遇到暴力破解增加密文验证码

wordpress 2年前 (2022-08-12) 311次浏览 0个评论 扫描二维码
本文最后更新于2022年8月12日,已超过 1 年没有更新,如果文章内容失效,请 反馈 给我们,谢谢!


18+7等于多少呢等于25吗?错!网上验证码识别的工具一抓一大把也不怎么保险,这里输入70就对了,请往下看

从04点到14点了一直都在尝试暴力登陆,对用户名是forest非常自信,密码猜得也很到位 :neutral: ,IP地址也是打一枪换个地方数了一下有几十个不同的IP了。


登录名:forest
登录密码:forest
登录时间:2022-06-04 04:13:00
登录IP:194.90.234.21

登录名:forest
登录密码:forest2021
登录时间:2022-06-04 04:23:41
登录IP:185.122.201.129
登录名:forest
登录密码:forest123
登录时间:2022-06-04 04:34:19
登录IP:82.156.109.203
登录名:forest
登录密码:forest@123
登录时间:2022-06-04 04:44:57
登录IP:157.90.165.4
登录名:forest
登录密码:zousifan@123
登录时间:2022-06-04 04:55:42
登录IP:145.239.30.120
登录名:forest
登录密码:admin
登录时间:2022-06-04 05:06:29
登录IP:178.217.190.82
太多了不一一复制了,感觉这样也不是办法有点像定时炸弹哪天真给炸到了可不妙,要加大点难度可以在验证码上面做点手脚,比如把数字变成图片,或者变成能动的图片,这里我说下我的方法,我是把验证码第一个数字或第二数字加减乖除一个特定的数字用来当验证码,让他猜去吧。。给wordpress加上一个牛逼的独力验证码只有自己能看懂,方法如下:
function git_add_login_fields(){		
		//获取两个随机数, 范围0~50
        $num1 = mt_rand(0, 50);
        $num2 = mt_rand(0, 50);
        echo "<p><label for='sum'> {$num1} + {$num2} = ?<br /><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}'></label></p>";
    }
    add_action('login_form', 'git_add_login_fields');
    add_action('register_form', 'git_add_login_fields');
    function git_login_val(){
		//密文
		$miwen = 10;
		if(isset($_POST['sum'])){
		//获取用户提交的计算结果
        $sum = $_POST['sum'];		
        switch ($sum) {
			//得到正确的计算结果则直接跳出
            //case $_POST['num1'] + $_POST['num2']:
			//只取第一个数字加上密文 例:6 + 15 = ?  则6+密文,如果密文是10,那么正确答案就是16
			case $_POST['num1'] + $miwen:
			//echo $sum1;echo $_POST['num1'] + $_POST['num2'];
                break;
			//未填写结果时的错误讯息
            case null:
                wp_die('错误: 请输入验证码  <a href="javascript:;" onclick="javascript:history.back();">返回上页</a>');
                break;
			//计算错误时的错误讯息
            default:
			//echo $_POST['num1'] + $miwen;
                wp_die('错误: 验证码错误,请重试  <a href="javascript:;" onclick="javascript:history.back();">返回上页</a>');
        }
		}
    }
    add_action('login_form_login', 'git_login_val');
    add_action('register_post', 'git_login_val');
实测一点卵用都没有只增加自己的负担人家是用工具登陆的根本不在乎这个验证码就跟没有一样,实际测在登陆界面审核元素把验证码的框子给删掉依然能正常登陆免输验证码,感觉是掩耳盗铃。现在用另一种方法:

在主题函数文件functions.php中加入以下代码:

// 隐藏后台地址防止暴力破解
add_action('login_enqueue_scripts', 'tb_wp_login_protection');
function tb_wp_login_protection(){
    if( !isset($_GET['mima']) ){ //mima可以换成别的,相应的下面登陆地址也要换成一样的。
        header( 'Location: ' . home_url() );
        exit;
    }
}

本站原创


版权所有丨如未注明 , 均为原创丨本网站采用 BY-NC-SA 协议进行授权 , 转载请注明 出处!
喜欢 (0)
发表我的评论
取消评论
表情 贴图 加粗 删除线 居中 斜体 签到

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
    仅用来给您发送回复提醒。不会公开!
  • 网址