Posted on Leave a comment

清明节全家感冒了,我却测试出WordPress网站授权安全登录的方法

2019年4月5日,清明节放假,全家感冒了,我自己也包括进去!同时每当节假日,遇到黑客或木马的软件的攻击是常事!虽然网站配置了Fail2ban 登录多少次,就自动锁定!同时增加了验证码等措施!同时也设了相关的记录的邮件通知(可查询到使用什么用户名及密码,使用哪个IP,及上网设备等)!让人真是头痛!

头脑虽然不是特别清晰,且网络上教程很多都不适用!

Web服务器使用Nginx,服务器使用Aliyun,不知道怎么原因:老是安装不了!

[root@host ~]# yum -y install httpd 

Loaded plugins: fastestmirror
Loading mirror speeds from cached hostfile
 * elrepo: mirror-hk.koddos.net
 * elrepo-kernel: mirror-hk.koddos.net
No package httpd available.
Error: Nothing to do

没有办法,安装不了httpd ? 使用htpasswd生成用户认证文件,如果没有该命令,可使用yum安装httpd-tools软件包,这种方法 根本没有办法使用htpasswd 命令了!原因很多,我也可能没有时间去解释!可能 是Nginx 版本原因,也可能是Mirror的网址原因。

关键是怎么办呢?

我研究了一下原理,其实并不复杂!无非就是先创造好授权的用户及密码,然后在Nginx 配置上,把需要网址或目录或文件,进行授权配置!

用户及密码,网络上到处都可以生成啊!也可以使用Openssl 来生成!

# printf "ttlsa:$(openssl passwd -crypt 123456)\n" >>conf/htpasswd
# cat conf/htpasswd
ttlsa:xyJkVhXGAZ8tM

#账号:ttlsa
#密码:123456

关键是匹配的设置问题,遇到 try_files 的使用问题!

try_files指令:
语法:try_files file ... uri 或 try_files file ... = code
默认值:无
作用域:server location

刚开始实践时,因学的不多,网上教程也看不太明白,自己折腾了很久,刚开始的配置,是学网上XX大咖的配置,是这样的:


    #AUTH_START
location /具体授权的网址 {
try_files $uri $uri/ =404;
#下列两行为新增
auth_basic "Authorization";
auth_basic_user_file /网址.pass;
}
    #AUTH_END

后来,还导致服务器或数据库,出了问题!
后来,我发现语法上出问题!正常这种东西,占不了什么内存,同时是不用写进数据库的。

    #AUTH_START
location /具体授权的网址 {
try_files $uri $uri/ =404;
}
#下列两行为新增
auth_basic "Authorization";
auth_basic_user_file /网址.pass;

    #AUTH_END

后来,我改了一下}符号位置,竞然成功了! 具体截图如下:

本文由全国首个SEO服务器-WSEO三人行原创,如需转载,需注明来源!

发表评论