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>

解决方案 »

  1.   

    可以写一个PathFilter implements Filter {
    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);
          }
    }
    }
      

  2.   

    为什么不升级下你的tomcat?
    至少我用的tomcat7.0没发现你这个问题
      

  3.   

    你给的这个代码是加在java工程里面用的吧,现在是直接访问tomcat下面的文件了,比如tomcat/logs/catalina.out .应该是配置tomcat吧。
      

  4.   

    正式环境一直在使用这个tomcat5.5 暂时还没法升级。是否有配置可以调整?
      

  5.   

    弱弱的问句,标准WEB的打包方式不都是有个WEB-INF的目录么?所有的配置文件或者上传文件可以放在这个地方,这是无法访问的
    如果你实在是想这么做,请参考下WEB.xml下的元素<security-constraint> 配置信息,应该可以满足你的要求
      

  6.   


    我说的是IE能直接访问tomcat根目录的内容,还没到webapps里面。例如:tomcat/conf/server.xml IE能直接访问
      

  7.   

    俺的5.5什么就不可以访问呢。。conf/web.xml
      

  8.   


    能否把你的web.xml内容贴过来 对比一下呢
      

  9.   

    你的TOMCAT也太先进了吧,强烈建议兰州仔细查检下ROOT上下的工程,是不是本来就存在conf/web.xml或者logs/catalina.out。。或者在WEBAPPS下存在 conf 或者logs文件夹....
      

  10.   

    webapps下不用的东西请直接删除,这些东西会成为tomcat的安全隐患。
      

  11.   

    2楼说的方法貌似可行啊,LZ你应该明白,在容器响应请求之前,它会先经过一系列的过滤器吧。当在过滤器的,它知道你访问的是web.xml这个文件时,就另作处理..
      

  12.   

    把东西都放到WEB-INF文件夹下面去么,就可以访问不到了。
      

  13.   

    C:\developtools\apache-tomcat-6.0.24\conf\web.xml浏览器访问不到