说明:现在很多使用wordpress
的人,或多或少都会出现后台被登录很多次的现象,运气不好就被进去了,通常大家都会通过修改wp-login
文件来保护wordpress
后台,但是这种方法有个不方便的地方就是每次WP
升级就又要重改一遍,感觉很麻烦,不过使用Nginx
的auth_basic
基本http
验证功能可以保护web
目录下的文件,于是我们就可以使用此文件来保护wp-login.php
文件,效果就是进入后台之前,还需要验证成功,这样感觉很有效。这里以军哥的lnmp
环境为例。
更多设置请参考:Nginx给网站添加用户认证配置( Basic HTTP authentication)
方法
1、生成用户名密码
进入网站:http://tool.oschina.net/htpasswd,然后输入用户名密码后选择Crypt
加密算法。在vps
上的/home
目录下新建一个htpasswd
文件,然后编辑htpasswd
文件将刚才生成的用户名密码复制进去。可以通过Ftp
工具完成,也可以执行这个命令:
#以下3种加密任选其一,记得修改用户名rats和密码moerats
#crypt加密
printf "rats:$(openssl passwd -crypt moerats)\n" >> /home/htpasswd
#apr1加密
printf "rats:$(openssl passwd -apr1 moerats)\n" >> /home/htpasswd
#MD5加密
printf "rats:$(openssl passwd -1 moerats)\n" >> /home/htpasswd
2、修改网站conf文件
这里我们用vim
命令编辑,或者直接用WinSCP
工具修改
vim /usr/local/nginx/conf/vhost/moerats.com.conf
下面一段加到include enable-php.conf;
后面
location = /wp-login.php {
auth_basic "Please enter your username and password";
auth_basic_user_file /home/htpasswd;
fastcgi_pass unix:/tmp/php-cgi.sock;
fastcgi_index wp-login.php;
include fastcgi.conf;
}
主要修改auth_basic_user_file
这一行后面为你的密码文件位置就可以了。
3、重启Nginx生效
/etc/init.d/nginx restart
现在访问xxx.com/wp-login.php
或者xxx.com/wp-admin
应该都会弹出用户名密码的验证框就对了。