或许标题有些夸张,但实际效果却是极为强大
长久以来wordpress后台登陆安全都是一个大家比较关注的问题,使用各种插件,如后端地址修改,二次认证(2FA)等,想必各位也都使用或试用过…今天给大家带来一个使用nginx进行IP访问限制的妙招!或许各位会说,网上这种方案都烂透了。的确,网上的那些方案(在我这篇帖子之前所看到的)都是人云亦云烂到了极致-因为当你按照他们所说的(事实上你懂nginx配置的话自己就能配置)配置后,后台登陆时会出现排版问题,这还不是最严重的,最大的已知问题是登陆后台后连主题编辑都不能用,主题搜索安装等等都会废掉………
废话不多说,我们开始!!
location ~ \.php$ {
set $flag admin;
set $lger loginer;
set $warn admlogin;
if ( $remote_addr !~* ^1\.2\.3\.4|4\.3\.2\.1) {
set $flag "no${flag}";
}
if ( $request_uri ~ "(wp-login|wp-admin)") {
set $lger "yes${lger}";
}
set $warn "${flag}${lger}";
if ( $warn = "noadminyesloginer"){
return 403;
}
# 把红色的部分放到你的nginx配置里,紫色的IP地址换为你的常用登陆IP
# 该段nginx配置实现的功能为:打开wp前台或任何post,任何访问IP都不受限制
# 登陆后台时,如果不是你指定的IP直接返回403,否则正常登陆
nginx -t && nginx -s reload
打开你的wp后台登陆地址测试吧!