首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在使用Class.getResource()时防止路径遍历攻击

如何在使用Class.getResource()时防止路径遍历攻击
EN

Stack Overflow用户
提问于 2013-02-21 17:18:30
回答 2查看 5.6K关注 0票数 4

我希望为我的网站用户提供访问一些静态资源,这是在一个JAR文件中提供的。

我无法提供用户应该能够访问的所有文件的列表,但我可以确保它们都包含在JAR的子目录中,例如:

代码语言:javascript
复制
public-access/file-1
public-access/file-2
public-access/sub-dir/file-3

然后将通过以下方式访问这些文件:

代码语言:javascript
复制
this.getClass().getResource("/public-access/" + requestedFile);

有没有推荐的方法来防止路径遍历攻击?这是为了防止恶意用户请求名为../secretsub-dir/../../secret的文件

EN

回答 2

Stack Overflow用户

发布于 2013-02-21 17:21:49

查看安全管理器:http://docs.oracle.com/javase/tutorial/essential/environment/security.html

我认为它完全支持你所需要的,只要指定不允许打开给定路径的资源即可。

票数 1
EN

Stack Overflow用户

发布于 2013-02-21 17:43:53

您需要的是通过覆盖SecurityManager来定义自定义安全策略。查看本教程,它很好地解释了如何创建和注册。

Providing Your Own Security Manager

希望这能有所帮助

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/14998457

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档