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

image

如果你的网站使用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

拥有7年英文建站与营销经验,经手过上百个外贸独立站创建与推广。擅长使用低成本方法获客。 博客将分享英文建站技巧、SEO、视频营销等增长技能及案例。添加个人微信keentalks,获取第一手低成本获客增长技能!

发表评论

电子邮件地址不会被公开。 必填项已用*标注

 
扫码关注
添加微信免费加群
返回顶部