我需要阅读保存在 user_home 文件夹中的属性文件。
PropsFile = System.getProperty("user.home") + System.getProperty("file.separator")+ "x.properties";
Fortify 在这一行中给出了路径操作错误。正确值的数量很大,因此黑名单是唯一可能的方法。所以为了避免它我改变了代码如下。
String propsFile = null;
StringBuffer sb = new StringBuffer();
String xProperties = "x.properties";
String userHome = System.getProperty("user.home"); // *
if(userHome.contains("..\\"))
userHome = userHome.replace("..\\", "");
if(userHome.contains("../"))
userHome = userHome.replace("../", "");
if(userHome.contains("./"))
userHome = userHome.replace("./", "");
String fileSeperator = System.getProperty("file.separator"); // *
if(fileSeperator.equals("/") || fileSeperator.equals("\\")){
sb = sb.append(userHome).append(fileSeperator).append(xProperties);
propsFile = sb.toString();
}
但仍然 fortify 在 (*) 标记行中给了我相同的错误(尽管验证已完成)。我怎样才能消除错误?