WordPress阻止非法登录:禁止admin用户名登录

如果你的网站使用wordpress搭建的,登录地址一般都是 yourdomain.com/wp-admin,不过如果你用的是wordpress 5.0以上版本,可以直接通过yourdomain.com/admin直接登录。


不过这就会存在一个问题,既然我也知道我网站的登录地址,那么别人也是知道的,所以很多机器人就会暴力登录wordpress搭建的网站,如果你的账户名和密码太弱的话,就会被人家直接登录了,这当然个安全隐患。


我们通过安装simple history这个插件发现,有很多机器登录我们的网站,虽然我们可以把密码设置的很强大,但是这样无休止的登录会给我们的网站服务器增加负担,所以有没有方法限制这种访问呢?


通过simple history 插件检测wordpress非法登陆


方法当然有很多种,这里呢提供一种代码限制法,代码限制法的原理就是通过屏蔽登录名来限制,比如屏蔽admin / login等用户名的登录。


具体方法如下


拷贝如下代码


add_filter( 'wp_authenticate', 'no_admin_user' );
function no_admin_user($user){
    if($user == 'admin'){
        exit;
    }
}

add_filter('sanitize_user', 'sanitize_user_no_admin',10,3);
function sanitize_user_no_admin($username, $raw_username, $strict){
    if($raw_username == 'admin' || $username == 'admin'){
        exit;
    }
    return $username;
}


修改代码


我提供的原始代码只屏蔽了admin和login,如果你想增加更多的账户屏蔽登录的话,那么就在这个后面加上一段|| user = ‘username’


把单引号中间的username换成你需要屏蔽的登录名就行了,配合simple history这个插件,你可以更多需要屏蔽的用户名。


打开主题编辑器


打开我们的主题编辑器


打开wordpress主题编辑器
打开主题编辑器


 找到functions.php


找到这个文件,粘贴到最后一行保存即可。


打开functions.php
找到functions.php


不过这里需要注意一下,建议你的网站安装子主题,编辑子主题的functions.php即可,如果直接编辑原先的主题,可能在升级主题的过程中,这个修改的代码就丢失了。

至于子主题如何安装,你购买的商业主题安装包内会自带一个子主题,如果实在找不到子主题的话,那就先放父主题里面吧,等下次升级的时候要记得看看这个代码有没有消失。


其他FAQs


如果你保存到funstions.php,网站打不开了,可以通过ftp或者网站服务器的file manager,找到functions.php,删除你之前粘贴的代码,这样网站就恢复正常了。

Keen

Keen

分享英文建站和SEO技巧.

按ESC退出