我目前正在按照veracode标准重构现有代码。我有一段代码,其中Order By子句是根据用户输入动态创建的。在Veracode中,建议使用命名参数,但这是不可能的。下面是代码库。请提供可能的解决方案。
orderClauses.append("ORDER BY ");
orderClauses.append(report.getSortColumn1()));
orderClauses.append(" ");
orderClauses.append(report.getSortOrder1());
答案 0 :(得分:0)
更改
orderClauses.append(report.getSortColumn1()));
类似于
...
Set<String> columnsSet;
// fill columnsSet for your query
...
String col = report.getSortColumn1();
col = columnsSet.has(col) ? col : "";
...
orderClauses.append(col);
...
//etc
或者为带有反射,注释等的报告编写出色的类。