如果你的网站使用wordpress搭建的,登录地址一般都是 yourdomain.com/wp-admin,不过如果你用的是wordpress 5.0以上版本,可以直接通过yourdomain.com/admin直接登录。
不过这就会存在一个问题,既然我也知道我网站的登录地址,那么别人也是知道的,所以很多机器人就会暴力登录wordpress搭建的网站,如果你的账户名和密码太弱的话,就会被人家直接登录了,这当然个安全隐患。
我们通过安装simple history这个插件发现,有很多机器登录我们的网站,虽然我们可以把密码设置的很强大,但是这样无休止的登录会给我们的网站服务器增加负担,所以有没有方法限制这种访问呢?
方法当然有很多种,这里呢提供一种代码限制法,代码限制法的原理就是通过屏蔽登录名来限制,比如屏蔽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这个插件,你可以更多需要屏蔽的用户名。
打开主题编辑器
打开我们的主题编辑器
找到functions.php
找到这个文件,粘贴到最后一行保存即可。
不过这里需要注意一下,建议你的网站安装子主题,编辑子主题的functions.php即可,如果直接编辑原先的主题,可能在升级主题的过程中,这个修改的代码就丢失了。
至于子主题如何安装,你购买的商业主题安装包内会自带一个子主题,如果实在找不到子主题的话,那就先放父主题里面吧,等下次升级的时候要记得看看这个代码有没有消失。
其他FAQs
如果你保存到funstions.php,网站打不开了,可以通过ftp或者网站服务器的file manager,找到functions.php,删除你之前粘贴的代码,这样网站就恢复正常了。