在第三方程序使用的 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 源代码泄露以及其他安全问题。