Apache中配置禁止目录访问,即禁止游览列出的目录/文件列表的方法

    访问网站目录时Apache默认配置为可列出目录/文件列表,即当你访问http://localhost时会列出相关的目录和文件列表,我们可以通过修改Apache配置文件httpd.conf来实现禁止列出目录/文件列表,方法如下:

1、打开apache配置文件httpd.conf

2、找到

        <Directory />
         Options Indexes
         AllowOverride None
         Order allow,deny
         Allow from all
    </Directory>

只需要修改Options IndexesOptions None即可,:根据PHP运行环境安  装包的不同,Options Indexes也有可能是Options Indexes FollowSymLinks,一并改为Options None即可。

3、保存httpd.conf,并重启Apache即可,此时再访问http://localhost时, 报apache http 403 禁止访问错误信息

     Forbidden

   You don’t have permission to access / on this server.

 

Apache单个或多个目录禁止访问方法

这种方法通常用来禁止访问者访问后台管理目录或者程序目录,方法如下

1、打开apache配置文件httpd.conf

2、创建Directory块,比如禁止访问某个类库目录,可以这样实现

  <Directory /home/pubsrc/wwwroot/config>
    Order Deny,Allow
    Deny from all
  </Directory>

上述代码实现了禁止所有用户访问/home/pubsrc/wwwrootconfig目录的功能。如要实现禁止访问所有目录中config目录的功能,只要将<Directory /home/pubsrc/wwwroot/config>更改为<Directory /home/pubsrc/wwwroot/*/config>即可。

3、重启Apache服务器。

 

其他说明

只允许或禁止某个域名进行目录访问

<Directory /home/pubsrc/wwwroot/config >
    Order Deny,Allow
    Deny from elite.com
    Allow from apache.org
</Directory>

上述代码实现禁止elite.com域中主机访问config目录,允许apache.org域中主机访问config目录的功能。只允许或禁止某个IP进行目录访问

<Directory /home/pubsrc/wwwroot/config>
    Order Deny,Allow
    Deny from 10.1.1.2
    Allow from 192.168.1.0/255.255.255.0
</Directory>

上述代码实现禁止IP10.1.1.2访问/home/pubsrc/wwwroot/config目录,允许IP192.168.1子网中的主机访问w/home/pubsrc/wwwroot/config目录的功能。

注意Allow from 192.168.1.0/255.255.255.0等同于Allow from 192.168.1Allow from 192.168.1.0/24