Mik*_*ike 2 java validation fortify
Fortify在进行新File(path)比较的行上给出了Path Manipulation错误。我正在使用Struts 2。
谁能告诉我如何解决此问题,以使设防不会出现此错误?
private boolean filePresent(String fileName) {
if (fileName != null) {
String path = getDirPath();
if (path != null) {
path = path.endsWith("/") ? path : path + "/";
path = path + fileName;
if (new File(path).exists()) {
setFileName(fileName);
return true;
}
}
}
return false;
}
Run Code Online (Sandbox Code Playgroud)
我需要查看文件是否存在于我们的Web服务器中,因此我将文件名作为参数传递,从web.xml获取整个目录路径,将其附加到文件名,然后组成路径并进行检查针对File对象,查看其是否存在。
您不希望远程Web用户查看C:/ Windows / System32是否存在或/ etc / hosts是否存在,因为这使他们可以在服务器上进行取证研究。
您可能没有意识到函数通过在输入字符串中包含适当数量的“ ..”序列来使它们做到这一点。
有两种方法可以解决此问题:
1a。或者,如果您知道有效文件列表少于20个,则将它们列出,如果输入不完全匹配,则抛出异常。