隐藏WordPress用户名的方法
前言
最近我的使用Wordpress搭建的新产品站点遭受了用户名和密码的暴力破解,虽然尝试的密码都是弱密码,但是用户名居然能对上,这就很让人惊诧了。
在询问了大神「疯狂的大叔」之后,获得了一个隐藏WordPress用户名的方法。
根据目前已知的情况,下面2个目录可能会显示WordPress用户名:
- /wp-json/wp/v2/users/
- /wp-includes/wlwmanifest.xml
因此需要做设置让这2个连接外部不可访问。
解决方法
由于我的网站都是使用lnmp搭建的,因此只需在nginx的站点配置文件中新增规则即可。步骤如下:
- 登录服务器,依此进入以下目录:usr>local>nginx>conf>vhost
- 找到网站对应的配置文件,编辑修改
- 在配置中新增以下代码
location ~ ^/wp-json/wp/v2/users {
deny all;
}
location ~ ^/wp-includes/wlwmanifest.xml {
deny all;
}
请注意,如果你的站点开放了80和443这2个端口,分别对应http和https,那么在配置文件中就需要在2个地方都做增加。另外代码要添加在日志文件配置上方,如下图所示。
设置完毕以后,记得重启nginx,如果嫌麻烦就直接重启服务器!
重启完毕后,尝试访问上面2个可能泄露用户名的页面,如果代码生效,就应该报403错误了。