【问题标题】:Jetty - is it safe to use jetty default servletJetty - 使用 jetty 默认 servlet 是否安全
【发布时间】:2017-01-04 15:36:29
【问题描述】:

我使用 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>

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

【问题讨论】:

    标签: java servlets jetty


    【解决方案1】:

    是的,使用任意数量的DefaultServlet 实例。

    请注意实际“默认”DefaultServlet 与其他行为的行为。还有它对您的ServletContext 意味着什么以及它可以看到什么。

    prior answer 获取信息。

    例如:如果您使用的是传统的 webapp,那么“默认”(这是由 Jetty 作为 Servlet 规范的一部分创建的 &lt;servlet-name&gt;default&lt;/servlet-name&gt; 实例)将使用 webapp 本身作为 Resource Base

    任何额外的DefaultServlet 实例都不会参与ServletContext 规则。如果您有其他 &lt;url-pattern&gt; 段,则需要注意 pathInfoOnly init-param。

    【讨论】:

    • 如果我按照问题中的描述使用 DefaultServlet,我能否确定没有人会从 /home/User/、/home/User/temp/、/home/ 文件夹中获取数据?跨度>
    • 也许我在重复一些话,但我在评论中问的是我问题的重点。
    • @jimjim2000 是的,你在问题中的方式很好。
    • @jesse mcconnell 感谢您的评论。
    猜你喜欢
    • 2016-12-24
    • 1970-01-01
    • 2013-04-18
    • 1970-01-01
    • 2017-02-10
    • 2011-06-29
    • 2013-11-29
    • 2016-02-07
    • 2013-08-31
    相关资源
    最近更新 更多