Hibernate 如何修复SQL代码问题-CWE 564
我在Hibernate 如何修复SQL代码问题-CWE 564,hibernate,veracode,secure-coding,Hibernate,Veracode,Secure Coding,我在Query q=session.createQuery(Query)中得到veracode扫描错误。谁能帮我解决这个问题。我可以在这里使用什么来解决问题。veracode问题id是CWE 564。改用query.setParameter,使name成为防止SQL注入的命名参数 @Override public AssetLibraryReference selectALRefByName(String entityName,String name) throws Exception {
Query q=session.createQuery(Query)中得到veracode扫描错误代码>。谁能帮我解决这个问题。我可以在这里使用什么来解决问题。veracode问题id是CWE 564。改用query.setParameter,使name成为防止SQL注入的命名参数
@Override
public AssetLibraryReference selectALRefByName(String entityName,String name) throws Exception {
AssetLibraryReference returnRef = null;
String query = "from " + entityName + " where name = :name ";
try {
returnRef = sessionQueryUtil.doSessionQuery(session -> {
// queryStr.append("from " + entityName + " where name = :name ");
Query q = session.createQuery(query);
q.setString("name", name);
return (AssetLibraryReference)q.uniqueResult();
});
} catch (HibernateException e) {
LOG.error ("Caught hibernate exception",e);
e.printStackTrace();
throw e;
} catch (Exception e) {
LOG.error("Caught Exception :"+e.getMessage());
e.printStackTrace();
throw e;
}
return returnRef;
}
改为使用query.setParameter,使name成为防止SQL注入的命名参数
@Override
public AssetLibraryReference selectALRefByName(String entityName,String name) throws Exception {
AssetLibraryReference returnRef = null;
String query = "from " + entityName + " where name = :name ";
try {
returnRef = sessionQueryUtil.doSessionQuery(session -> {
// queryStr.append("from " + entityName + " where name = :name ");
Query q = session.createQuery(query);
q.setString("name", name);
return (AssetLibraryReference)q.uniqueResult();
});
} catch (HibernateException e) {
LOG.error ("Caught hibernate exception",e);
e.printStackTrace();
throw e;
} catch (Exception e) {
LOG.error("Caught Exception :"+e.getMessage());
e.printStackTrace();
throw e;
}
return returnRef;
}
答案对你有用吗?@RomanCanlas我已经实施了解决方案,正在等待veracode报告。@RomanCanlas没有兄弟,解决方案不起作用。。最新的veracode扫描结果是什么?查找结果有任何变化还是相同?@RomanCanlas是的,我能够解决问题。答案对您有效吗?@RomanCanlas我已经实施了解决方案,正在等待veracode报告。@RomanCanlas没有兄弟,解决方案无效。.最新的veracode扫描结果是什么?结果有什么变化吗?还是相同?@RomanCanlas是的,我能够解决这个问题。