java - Jetty - 使用 jetty 默认 servlet 是否安全

标签 java servlets jetty

我使用 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/文件夹?

最佳答案

是的,使用尽可能多的DefaultServlet实例如您所愿。

只需注意实际“默认”的行为 DefaultServlet与其他的相比。还有这对您的 ServletContext 意味着什么以及它能看到什么。

prior answer获取信息。

例如:如果您使用传统的 Web 应用程序,则“默认”(这是 Jetty 作为 Servlet 规范的一部分创建的 <servlet-name>default</servlet-name> 实例)将使用 Web 应用程序本身作为 Resource Base .

任何额外的DefaultServlet实例不会参与ServletContext规则。如果您还有额外<url-pattern>段,您需要了解 pathInfoOnly初始化参数。

关于java - Jetty - 使用 jetty 默认 servlet 是否安全,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39192114/

相关文章:

java - JComboBox 自动完成

java - 初始化 servlet 时如何传递引用

java - 关于MVC模型的疑惑

Jetty 8 作为使用 java service wrapper.on windows 的服务

java - 迭代器或枚举,我应该使用什么?

java - 安卓屏幕尺寸支持

java - cometd vs pubsub..?

java - Dropwizard 0.8 和 Jetty 在资源上失败返回 404

java - 解析带有文本的 XML 自闭标签

java - ServletContext 和 ServletActionContext 有什么区别