码头 - 使用 jetty 默认 servlet 是否安全



我使用 jetty 9.3.11,在我的web.xml中,我有以下代码使用 jetty 默认 servlet 来提供静态内容(图像、txt 文件等(。

    <servlet>
        <servlet-name>DefaultServlet</servlet-name>
        <servlet-class>org.eclipse.jetty.servlet.DefaultServlet</servlet-class>
        <init-param>
            <param-name>resourceBase</param-name>
            <param-value>/home/User/data/</param-value>
        </init-param>
    </servlet>
    <servlet-mapping>
        <servlet-name>DefaultServlet</servlet-name>
        <url-pattern>/static/*</url-pattern>
    </servlet-mapping>

以这种方式使用码头的默认 servlet 是否安全?我的意思是 - 我可以确定没有人会从/home/User//home/User/temp//home/文件夹中获取数据吗?

是的,根据需要使用任意数量的DefaultServlet实例。

只需注意实际的"默认"DefaultServlet与附加的行为。 还有这对你的ServletContext意味着什么,它可以看到什么。

信息的先前答案。

例如:如果您使用的是传统的 webapp,那么"default"(这是 Jetty 作为 Servlet 规范的一部分创建的<servlet-name>default</servlet-name>实例(将使用 webapp 本身作为Resource Base

任何其他DefaultServlet实例都不会参与ServletContext规则。 如果您有其他<url-pattern>段,则需要了解 init-param pathInfoOnly

最新更新