来源:自学PHP网 时间:2014-11-28 23:06 作者: 阅读:次
[导读] 有时我们在网络上的东西不但要设置用户正常的mysql数据库密码验证同时还要做服务器端的一些安全验证如像,下面我就来介绍在apache或nginx系统做一个登录认证配置。一、Apache认证认证...
Apache与Nginx登录认证配置详解(可认证目录)有时我们在网络上的东西不但要设置用户正常的mysql数据库密码验证同时还要做服务器端的一些安全验证如像,下面我就来介绍在apache或nginx系统做一个登录认证配置。 一、Apache认证 认证的类型:Basic Digest摘要 认证方法:A、容器认证:<Directory> ……</Directory>,B、隐藏文件认证创建.htaccess文件 方法一、容器认证 A、进入配置文件vi /etc/httpd/conf/httpd.conf B、配置:大约在531行附近配置如下:
C、创建目录mkdir-p/var/www/passwd 进入目录cd /var/www/passwd D、创建Apache用户htpasswd-cpassajian##pass为密码文件Ajian为用户,更改把Pass文件的使用权给Apache:chown apache.apache pass. 附:再在Pass文件中添加一个用户:htpasswdpasstt##添加一个TT的用户到Pass文件中 E、重启服务并测试 方法二、通过隐藏认证 和上面差不多不过配置不一样,代码如下: Httpd主配置文件:
创建隐藏文件并放到要通过认证的目录:
二、Nginx 登录认证 如果要进行登录认证访问,在nginx.conf中的虚拟主机配置:
注意:1、 auth_basic_user_file 最好用绝对路径,然后编辑htpasswd.conf文件,需要用Apache的htpasswd命令生成:
将输出的导入到htppasswd.conf中:user:0MIByk5HqBepY 注意:1、这个文件跟nginx的用户要同权限. 补充:为目录加上密码认证. 例如:基于整个网站的认证,auth_basic在php解释之前,代码如下:
针对目录的认证,在一个单独的location中,并且在该location中嵌套一个解释php的location,否则php文件不会执行并且会被下载,auth_basic在嵌套的location之后,代码如下:
这里有一个细节,就是location ~ ^/admin/.* {…} 保护admin目录下的所有文件,如果你只设了/admin/ 那么直接输入/admin/index.php还是可以访问并且运行的,^/admin/.* 意为保护该目录下所有文件,当然,只需要一次认证,并不会每次请求或每请求一个文件都要认证一下. |
自学PHP网专注网站建设学习,PHP程序学习,平面设计学习,以及操作系统学习
京ICP备14009008号-1@版权所有www.zixuephp.com
网站声明:本站所有视频,教程都由网友上传,站长收集和分享给大家学习使用,如由牵扯版权问题请联系站长邮箱904561283@qq.com