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 は (*) マークされた行で同じエラーを出しています (ただし、検証は行われています)。エラーを削除するにはどうすればよいですか?