我希望为我的网站用户提供访问一些静态资源,这是在一个JAR文件中提供的。
我无法提供用户应该能够访问的所有文件的列表,但我可以确保它们都包含在JAR的子目录中,例如:
public-access/file-1
public-access/file-2
public-access/sub-dir/file-3然后将通过以下方式访问这些文件:
this.getClass().getResource("/public-access/" + requestedFile);有没有推荐的方法来防止路径遍历攻击?这是为了防止恶意用户请求名为../secret或sub-dir/../../secret的文件
发布于 2013-02-21 17:21:49
查看安全管理器:http://docs.oracle.com/javase/tutorial/essential/environment/security.html
我认为它完全支持你所需要的,只要指定不允许打开给定路径的资源即可。
发布于 2013-02-21 17:43:53
您需要的是通过覆盖SecurityManager来定义自定义安全策略。查看本教程,它很好地解释了如何创建和注册。
Providing Your Own Security Manager
希望这能有所帮助
https://stackoverflow.com/questions/14998457
复制相似问题