禁止所有访问:Options Indexes FollowSymLinks 改为 Option None
Apache单个或多个目录禁止访问方法
这种方法通常用来禁止访问者访问后台管理目录或者程序目录,方法如下
1、打开apache配置文件httpd.conf
2、创建Directory块,比如禁止访问某个类库目录,可以这样实现
<Directory /var/www/www.leapsoul.cn/inc>
Order Deny,Allow
Deny from all
</Directory>
上述代码实现了禁止所有用户访问www.leapsoul.cn下inc目录的功能。如要实现禁止访问所有目录中inc目录的功能,只要将
<Directory /var/www/www.leapsoul.cn/inc>
更改为
<Directory /var/www/www.leapsoul.cn/*/inc>
即可
3、重启Apache服务器。
只允许某个域名进行目录访问
<Directory /var/www/www.leapsoul.cn/inc>
Order Deny,Allow
Deny from abc.com
Allow from apache.org
</Directory>
上述代码实现禁止abc.com域中主机访问inc目录,允许apache.org域中主机访问inc目录的功能。
只允许或禁止某个IP进行目录访问
<Directory /var/www/www.leapsoul.cn/inc>
Order Deny,Allow
Deny from 10.1.1.2
Allow from 192.168.1.0/255.255.255.0
</Directory>
上述代码实现禁止IP10.1.1.2访问www.leapsoul.cn/inc目录,允许IP192.168.1子网中的主机访问www.leapsoul.cn/inc目录的功能。
注意:Allow from 192.168.1.0/255.255.255.0等同于Allow from 192.168.1或Allow from 192.168.1.0/24
至此,通过配置Apache服务器我们可以实现禁止目录访问(列出目录或文件列表),也可以实现禁止访问单个或者多个目录,更可以对访问者进行控制,比如允许或禁止某个IP或者域名对目录进行访问,这些功能对提高和优化WEB服务器的安全性能是必不可少的方法。
Apache Server基于主机的访问控制
Apache Server默认情况下的安全配置是拒绝一切访问。假定Apache Server内容存放在/usr/local/apache/share 目录下,下面的指令将实现这种设置:
Deny from all
Allow Override None
则禁止在任一目录下改变认证和访问控制方法。
同样,可以用特有的命令Deny
、
Allow
指定某些用户可以访问,哪些用户不能访问,提供一定的灵活性。当
Deny
、
Allow
一起用时,用命令
Order
决定
Deny
和
Allow
合用的顺序,如下所示:
拒绝某类地址的用户对服务器的访问权(Deny)
Deny from all
Deny from test.cnn.com
Deny from 204.168.190.13
Deny from 10.10.10.0/255.255.0.0
允许某类地址的用户对服务器的访问权(Allow)
Allow from all
Allow from test.cnn.com
Allow from 204.168.190.13
Allow from 10.10.10.0/255.255.0.0
Deny
和
Allow
指令后可以输入多个变量。
简单配置实例:
Order Allow, Deny
Allow from all
Deny from www.test.com
指想让所有的人访问Apache服务器,但不希望来自www.test.com的任何访问。
Order Deny, Allow
Deny from all
Allow from test.cnn.com
指不想让所有人访问,但希望给test.cnn.com
网站的来访。