PHP生成htpasswd帐号方法


当我想要架设一个网站需要用到密码才能访问的时候,这个htpasswd就必不可少了。如果我们使用apache作为web服务器的话,很简单,使用下面的命令就可以生成一个帐号密码了

/usr/local/apache22/bin/htpasswd -c /home/secret

这个我就不介绍了如果对apache的生成htpasswd感兴趣可以点这里。我这里主要将的是在nginx下面怎么生成htpasswd文件,我有幸在使用PHP作为我的web程序语言,所以我只需要使用php自带的语言生成一个htpasswd密码即可。

$/usr/bin/php -a
php > echo crypt('123', base64_encode('123'));
MTTuFPm3y4m2o

OK这里面的“MTTuFPm3y4m2o”,就是123生成出来的密码,来我们把他们保存在一个文件里面。

vi /usr/local/app/nginx-htpasswd

#这个文件里面的内容格式应该是这样的
#将下面这两行保存在nginx-htpasswd中,就意味着你已经添加了markdream和zhangfei两个用户他们的密码都是123
markdream:MTTuFPm3y4m2o
zhangfei:MTTuFPm3y4m2o

好,前期的密码生成工作我们做完了,下面就是该修改nginx的配置文件了,打开你的vhost文件。

location / {
  auth_basic  "Hi,please enter your account & pwd!";
  auth_basic_user_file  /usr/loacl/app/nginx-htpasswd;
}

OK,这样就是让nginx找到你的认证文件路径放在哪里,并且启用认证。修改完配置文件别忘记重启nginx。到这里大功告成,我顺便说一句这些需要你有nginx相关的基础,否则你需要花一点时间好好理解才行。你可以看这里关于nginx配置文件的介绍。


发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

评论审核已启用。您的评论可能需要一段时间后才能被显示。