我有一个Java Web应用程序,它具有使用URL获取远程文件的功能。
当我测试代码时,我发现匿名用户可以通过修改文件路径/etc/passwd
来读取本地文件file URL schema,{{1}这个文件将通过URL读取,这是一个例子:
file:///etc/passwd
有关解决此问题的任何建议吗?
答案 0 :(得分:2)
如果您使用的是URL,则可以从中获取协议。在这种情况下,如果协议是“文件”(或者不是“http”,取决于你想要的限制),你可以抛出异常。
答案 1 :(得分:1)
在对某些文件夹具有受限访问权限的用户下执行此过程。这将在操作系统级别处理,操作系统将通过定义的权限允许该过程。