Java 通过白名单基于文件扩展名限制/允许tomcat中的文件访问

Java 通过白名单基于文件扩展名限制/允许tomcat中的文件访问,java,security,jakarta-ee,tomcat6,Java,Security,Jakarta Ee,Tomcat6,在tomcat中,我需要按文件类型禁用通过浏览器的访问 我可以做到以下几点 <servlet-mapping> <servlet-name>Error Servlet</servlet-name> <url-pattern>*.log</url-pattern> </servlet-mapping> <servlet-mapping> <servlet-name>Error Servlet

在tomcat中,我需要按文件类型禁用通过浏览器的访问

我可以做到以下几点

<servlet-mapping>
  <servlet-name>Error Servlet</servlet-name>
  <url-pattern>*.log</url-pattern>
</servlet-mapping>
<servlet-mapping>
  <servlet-name>Error Servlet</servlet-name>
  <url-pattern>*.java</url-pattern>
</servlet-mapping>
但不是像这样的黑名单,有没有可能做一个白名单的类型,我想允许访问?比如*.jsp、*.html、*.jpeg


谢谢

您只需执行以下操作:

   <servlet-mapping>
      <servlet-name>Servlet</servlet-name>
      <url-pattern>*.*</url-pattern>
    </servlet-mapping>

你所做的只是权宜之计,不是真正正确的方法。哦,没有可能的白名单。我不明白解决办法。我在互联网上找不到任何关于Valapp元素的信息。你能详细说明一下吗?这个答案可能有点过时了,请查看原始文档,谢谢。我必须对一个已经有200多个不同类型文件的tomcat应用修复程序。我认为让servlet用允许的文件响应将是一项复杂而乏味的任务。
private final String enabled = "^(.)+((\.jsp)|(\.html)|(\.jpeg))$";

public void service(...) {
     if (!request.getRequestURI().matches(enabled)) {
        response.sendError(401);
        return;
     }
}