今天刚刚配置好服务器,测试了一个站点,结果发现目录下所有文件都没有index索引文件时就会自动以列表形式显示现了,这个以前没配置过apache 不知道什么原因,后来百度了一下找到了解决办法。
目录列表原因分析
当用户请求的URL地址是某个目录地址的时候,如果该目录开启了自动列表功能并且WEB服务器默认的页面文件(如index.html/home.html/default.htm/default.asp/default.aspx/index.php等)也不存在,那么该目录所包含的文件就会被自动的以列表的形式显示出来,这样可能就会导致敏感文件被泄露。
安全隐患
1、如果必须开启该目录的目录列表功能,则应对该目录下的文件进行详细检查,确保不包含敏感文件。
2、如非必要,请重新配置WEB服务器,禁止该目录的自动目录列表功能。
禁止目录列表解决办法
如何配置WEB服务器,禁止该目录的自动目录列表功能?要禁止此功能,修改Apache配置文件httpd.conf;找到下面这一句删除掉:Indexes 即可,把 Options Indexes FollowSymLinks 改成 Options FollowSymLinks 即可。
具体配置如下:httpd.conf; 开启mod_autoindex模块
打开列目录功能:Options +Indexes
关闭列目录功能:Options -Indexes
- <Directory D:/abc>
- Options Indexes FollowSymLinks
- AllowOverride All
- </Directory>
通过.htaccess文件:可以在根目录新建或修改 .htaccess 文件中添加如下代码:
- <Files *>
- Options -Indexes
- </Files>
就可以禁止Apache显示目录索引。 |