当前位置:首页>文章资讯WordPress教程> 【WordPress】修改默认后台登陆管理员地址防爆破

【WordPress】修改默认后台登陆管理员地址防爆破

使用wordpress建站的很多,但是大家都知道默认后台登录地址是公开的,登录无需验证码。这样就会遇到一个问题。就是不停的登陆后台管理员账号密码,如果密码强度不够,使用工具爆破相信也是时间长短问题。我自己就被爆破了,后台设置了邮件登陆提示,直接被刷屏。每次登陆ip还不一样,很是头疼。有考虑过购买防火墙。最后价格感觉太贵就没入手。好在看到不少站长都有遇到这类问题。就整合了一下方法

 

壹:wordpress后台登陆地址修改方法之主题函数代码法。打开主题下的functions.php文件添加

 

//保护后台登录 
 function login_protection(){
if($_GET['word'] != 'fuck')header('Location: https://www.xxxx.com/');//改为自己域名
}
add_action('login_enqueue_scripts','login_protection');

 

这样打开 http://xxxx.com/wp-login.php?word=fuck,才会打开登录页,否则就会自动跳转到首页。

但是,当我改好后消停了一会后,又开始爆破了。邮箱里依旧收到很多登录失败的提醒邮件。但相比改之前好了一些。于是就差了下相关问题,原来早有前辈探过路了。那么就跟着脚印走,采取了一个更加简单粗暴的方法

 

贰:修改wp-login.php文件名。

 

于是将wp-login.php修改成了fuck-login.php,同时还要打开这个文件,将里面所有的wp-login.php替换成fuck-login.php。这样登录地址便成了http://xxxx.com/fuck-login.php跟前面那个方法结合起来,就成了http://xxxx.com/fuck-login.php?word=fuck

同时,还看到有另一种方法,那就三管齐下,趁热打铁。

 

叁:根据ip限制用户登录的次数

 

# 阻止登录的函数,直接 404
function block_login() {
    header("HTTP/1.1 404 Not Found");
    header("Status: 404 Not Found");
    exit;
}

# 登录前判断登陆的失败次数
add_action("login_head",function () {
    $login_ip =  $_SERVER['REMOTE_ADDR'];
    $login_ip_list = unserialize(get_option("LOGIN_IP_LIST"));
    # 登录失败超过5次就进行阻止登陆
    if($login_ip_list && ($login_ip_list[$login_ip] > 5)) {
        block_login();
    }
});

# 登录失败的处理
add_action('login_errors', function ($info) {
    $login_ip =  $_SERVER['REMOTE_ADDR'];
    $login_ip_list = get_option("LOGIN_IP_LIST");
    if($login_ip_list) {
        $login_ip_list = unserialize($login_ip_list);
    } else {
        $login_ip_list = array();
    }

    # 登录次数 + 1
    $login_ip_list[$login_ip] += 1;

    update_option('LOGIN_IP_LIST', serialize($login_ip_list));

    # 提示登录失败的次数
    return "$login_ip 登陆次数 " . $login_ip_list[$login_ip];
});

# 证明已经登录成功了
add_action("admin_menu", function () {
    $login_ip =  $_SERVER['REMOTE_ADDR'];
    $login_ip_list = unserialize(get_option("LOGIN_IP_LIST"));
    $login_ip_list[$login_ip] = 0;
    update_option('LOGIN_IP_LIST', serialize($login_ip_list));
});

 

可根据自己适当情况修改。这样就实现了,限制每个ip登陆的次数。同时还可以看到有几个ip试图登陆网站

 

版权声明 1 本站永久网址:https://www.gzkj8.com
2 本网站的文章部分内容可能来源于网络,仅供大家学习与参考,如有侵权,请联系站长:yixinis@163.com,进行删除处理。
3 本站一切资源不代表本站立场,并不代表本站赞同其观点和对其真实性负责。
4 本站一律禁止以任何方式发布或转载任何违法的相关信息,访客发现请向站长举报
5 本站资源大多存储在云盘,如发现链接失效,请联系我们我们会第一时间更新。
WordPress教程文章资讯

wordpress无需插件API实现文章发布后自动同步其他站点

2023-8-12 10:33:05

WordPress教程文章资讯

【B2主题】首页打字效果区块

2023-8-12 10:36:06

0 条回复A文章作者M管理员
    暂无讨论,说说你的看法吧
个人中心
购物车
优惠劵
今日签到
搜索