繁体   English   中英

如何拒绝直接访问Jetty上的文件

[英]How to deny direct url access to files on Jetty

我在Jetty上运行webapp。 我已将“ dirAllowed”设置为“ false”,以禁用通过webAppContext.setInitParameter(“ org.eclipse.jetty.servlet.Default.dirAllowed”,“ false”)在定义的上下文路径上进行目录浏览。

但是,用户仍然可以通过url(例如http://somehost.yahoo.com:8081/abc.xml )访问其他文件(不在上下文路径中),并且abc.xml位于Jetty服务器的根目录下。

有没有一种方法可以阻止/拒绝直接访问位于Jetty上的文件的URL? 谢谢!

并非没有在Web应用程序中添加某些功能,而是没有。 Java Webapp本质上是从上下文根(以下示例中的myWebApp)开始的标准化目录结构。

myWebApp/
    index.jsp
    styles/
        mywebapp.css
    images/
        myimage.png
    WEB-INF/
        web.xml
        lib/
            MyLib.jar
        classes/
            MyPackage/
                MyServlet.class

WEB-INF之上的任何内容都可以直接使用,WEB-INF之下的任何内容都不能直接使用。 您可以使用Servlet过滤器( http://www.oracle.com/technetwork/java/filters-137243.html )制定一些授权方案,并限制对WEB-INF之上内容的访问。 另外,如果您需要认证/授权,请查看Http授权以及如何在Jetty中实现它( http://www.eclipse.org/jetty/documentation/current/configuring-security-authentication.html )。 一种或另一种方式,您将需要进行某种编码或配置,以限制对Java Webapp中WEB-INF上方内容的访问。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM