tomcat5.5启动后,通过IE可以直接访问根目录的文件,比如http://192.168.1.21:8080/conf/web.xml或者http://192.168.1.21:8080/logs/catalina.out
如何禁止访问这些文件呢?请专家帮帮忙。
补充:已经将conf/web.xml中配置了如下内容,但还是能访问
<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>
如何禁止访问这些文件呢?请专家帮帮忙。
补充:已经将conf/web.xml中配置了如下内容,但还是能访问
<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>
public void doFilter(ServletRequest request, ServletResponse reponse, FilterChain chain) throws IOException, ServletException {
HttpServletRequest rs = (HttpServletRequest) request;
HttpServletResponse re = (HttpServletResponse) reponse; if(rs.getServletPath().endsWith("web.xml")) {
rs.getRequestDispatcher("error.jsp").forward(rs, re);
}
}
}
至少我用的tomcat7.0没发现你这个问题
如果你实在是想这么做,请参考下WEB.xml下的元素<security-constraint> 配置信息,应该可以满足你的要求
我说的是IE能直接访问tomcat根目录的内容,还没到webapps里面。例如:tomcat/conf/server.xml IE能直接访问
能否把你的web.xml内容贴过来 对比一下呢