如何禁用对 tomcat 中的文件 WEB-INF/web.xml 的访问

如何禁用对 tomcat 中的文件 WEB-INF/web.xml 的访问

在第三方程序使用的 tomcat 7 服务器上,WEB-INF/web.xml 文件可以从用户的浏览器访问。有没有办法防止这种情况发生?

答案1

今天遇到了类似的问题。WEB-INF/web.xml 可以通过以下方式访问:http://example.com/WEB-INF./web.xml(注意./web.xml 前面的)。

这只会发生在装有 tomcat 的 Windows 服务器上。

要解决该问题,请编辑$TOMCAT_HOME/conf/context.xml并删除allowLinking=true(或将其设置为 false)标记<Context ... />。然后重新启动 tomcat。

也可以看看Tomcat 文档 - 上下文容器

允许链接

如果此标志的值为 true,则允许在 Web 应用程序内部使用符号链接,指向 Web 应用程序基本路径内部或外部的资源。如果未指定,则标志的默认值为 false。

注意:在 Windows 平台(或任何其他不区分大小写的文件系统的操作系统)上,不得将此标志设置为 true,因为它将禁用区分大小写检查,从而导致 JSP 源代码泄露以及其他安全问题。

相关内容