不管是LINUX服务器,还是windows服务器,在配置WEB环境时,用到APAHCE,都会把网站目录文件列出来。这对安全方面很不好,可通过以下三种方法来修改。
第一中方法,最简单的一种。
可以在根目录的 .htaccess 文件中输入
1
Options -Indexes
就可以阻止Apache 将目录结构列表出来
缺省情况下如果你在浏览器输入地址http://localhost:8080/,如果你的文件根目录里有 index.html,浏览器就会显示 index.html的内容,如果没有 index.html,浏览器就会显示文件根目录的目录列表,目录列表包括文件根目录下的文件和子目录。
如何禁止apache显示目录列表呢?
第二种方法
要禁止 Apache 显示目录结构列表,只需将 Option 中的 Indexes 去掉即可
比如我们看看一个目录的目录配置:
<directory "d:="" apa="" blabla"="">
Options Indexes FollowSymLinks #---------->Options FollowSymLinks
AllowOverride None
Order allow,deny
Allow from all
你只需要将上面代码中的 Indexes 去掉,就可以禁止 Apache 显示该目录结构。用户就不会看到该目录下的文件和子目录列表了。
Indexes 的作用就是当该目录下没有 index.html 文件时,就显示目录结构,去掉 Indexes,Apache 就不会显示该目录的列表了。
第三种方法
找到
在Options Indexes FollowSymLinks在Indexes前面加上 – 符号
【备注:在Indexes前,加 + 代表允许目录浏览;加 – 代表禁止目录浏览。】
如果是在虚拟主机中,只要增加如下信息就行:
Options -Indexes FollowSymLinks
AllowOverride None
Order deny,allow
Allow from all
这样的话就禁止在test工程下进行目录浏览
备注: 莫把“Allow from all”改成 “Deny from all”。
总结和其他:
通过.htaccess文件Apache禁止列目录
附:1. Apache禁止列目录:
方法一,修改 httpd.conf配置文件,查找 Options Indexes FollowSymLinks,修改为 Options -Indexes;
方法二,在www 目录下的修改.htaccess 配置文件,加入 Options -Indexes。 (推荐)
2. Tomcat 禁止列目录:
在Tomcat的conf/web.xml文件里把listings值改为false。
PS:修改完httpd.conf后,一定记得重启web服务,才能生效! (责任编辑:最模板) |