正 文:
Apache是当今互联网世界里最流行的一种服务器组件,不仅支持Linux系列的环境,同时也支持windows系统。有的时候,我们需要把网站的某个目录加密,设置认证,需要输入用户名和密码才可以进入。Apache就可以对某一目录下的文件进行安全认证,认证方式包括用户密码认证和IP过滤,下面我来一一说明。
一、
用户名密码认证1,首先要让Apache支持.htaccess才可使用认证控制,windows下的apache默认是没有开启,参考:
Windows主机:Apache启用rewrite和.htaccess2,在需要认证目录下如
D:\wwwroot\test建立 .htaccess 文件,在Windows下建立 .htaccess 文件有一个小技巧,正常情况下Windows文件命名规则是不允许建立“ .” 开头的文件,咱们可以编辑好之后另存为.htaccess文件,加入下列内容:
AuthName "Login"
AuthType basic
AuthUserFile "D:\user.txt"
require valid-user
用户密码信息保存在"D:\user.txt",不要将它放在网站目录,以防被下载。
3,下面我们来用Apache2\bin\htpasswd.exe 来生成密码,例如:
D:\Apache2\bin>htpasswd -cmdps d:\user.txt piaoyi.org
New password: ***
Re-type new password: ***
Adding password for user piaoyi.org
建立名为 piaoyi.org 的用户 密码是123。可以建立多个帐户。
至此,我们已经完成对"D:\wwwroot\test"目录的密码认证设置,所有登录"D:\wwwroot\test"目录的用户都要求输出用户名和密码,针对任何地址。
二、
下面举一个IP过滤认证的例子:
<Directory "D:\wwwroot">
Options Indexes FollowSymLinks
allowoverride authconfig
Order deny,allow #顺序为先拒绝,后允许
Deny from all #拒绝所有
Allow from 192.168.90.12 #允许某IP、IP段访问
Allow from localhost #允许本机访问
AuthName "Login"
AuthType basic
AuthUserFile "D:\user.txt"
require valid-user
</Directory>