[英]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.