如果用户uri中没有指定文件名,apache和tomcat在默认情况下都会查找默认文件index.*等。
找不到都会显示目录清单,而把文件清单暴露出来。而通常这不是我们所想要的。修改方法如下:
apache:
编译时增加参数--disable-autoindex:
写道
./configure --prefix=/usr/local/httpd2.0.53 \
--disable-autoindex \
--enable-so \
--datadir=/usr/local/web
--disable-autoindex \
--enable-so \
--datadir=/usr/local/web
(由于httpd.conf中含有和autoindex相关的配置,请注释掉)
tomcat:
default servlet的listings参数设为false:
写道<servlet>
<servlet-name>default</servlet-name>
<servlet-class>
org.apache.catalina.servlets.DefaultServlet
</servlet-class>
<init-param>
<param-name>debug</param-name>
<param-value>0</param-value>
</init-param>
<init-param>
<param-name>listings</param-name>
<param-value>false</param-value>
</init-param>
<load-on-startup>1</load-on-startup>
</servlet>