为了更好的控制对网站资源的访问,我可以为特定的网站目录添加访问授权。我们可以分别通过限制客户机的地址和用户访问权限两方面控制用户的访问。那么我们就分别讲解一下这两种控制方式,这两种控制方式都应用于httpd.conf配置文件中的目录区域<Directory 目录位置>......</Directory>范围内。
客户机地址限制
通过配置项order,Deny from,Allow from,根据客户机的主机名或IP地址来限制是否客户端访问。使用Order配置项时,可以设置为“allow,deny”或“deny,allow”,以决定主机应用“允许”,“拒绝”策略的先后顺序。
allow,deny:先允许后拒绝,默认拒绝所有未明确允许的客户机地址。
deny,allow:先拒绝后允许,默认允许所有未明确拒绝的客户机地址。
使用Allow和Deny配置项时,需要设置客户机地址以构成完整的限制策略,地址的形式可以是IP地址,网络地址,主机名,域名 ,使用名称“all”时表示任意地址。
如下设置网站的根目录为所有人可以访问。
[root@localhost /]#vim /usr/local/httpd/conf/httpd.conf
.....//省略部分内容
<Directory "/usr/local/httpd/htdocs">
......//省略部分内容
Order allow,deny //先允许后拒绝
Allow from all //允许所有地址
</Directory>
.....//省略部分内容
我们也可以拒绝某一个IP地址或者是某一个网段,设置如下:
[root@localhost /]#vim /usr/local/httpd/conf/httpd.conf
......//省略部分内容
<Directory ''/usr/local/httpd/htdocs">
......//省略部分内容
Order deny,allow //先拒绝后允许
Deny from 192.168.1.1 192.168.3.0/24 //拒绝192.168.1.1和192.168.3.0网段
</Directory>
......//省略部分内容
用户授权限制
httpd服务器支持使用摘要认证和基本认证两种方式。使用摘要认证需要在编译httpd之前添加“--enable-auth-digest”选项,但并不是所有的浏览器都支持摘要认证;而基本认证是httpd服务的基本功能,不需要预先配置特别的选项,所以在此主要讲解基本认证方式。
基于用户的访问控制包含认证和授权两个过程,
认证:指识别用户的身份的过程。
授权:允许特定用户访问特定目录区域的过程。