防止Grails条件查询中的SQL注入
我有一个使用用户输入的一些防止Grails条件查询中的SQL注入,grails,hql,sql-injection,criteria,Grails,Hql,Sql Injection,Criteria,我有一个使用用户输入的一些参数的条件查询,例如: def query = MyTable.createCriteria() def myQueryResult = query.list() { if (params.minToInvestMin) ge('minimalToInvest', params.minToInvestMin.toBigDecimal()) if (params.minToInvestMax) l
参数的条件查询,例如:
def query = MyTable.createCriteria()
def myQueryResult = query.list() {
if (params.minToInvestMin)
ge('minimalToInvest', params.minToInvestMin.toBigDecimal())
if (params.minToInvestMax)
le('minimalToInvest', params.minToInvestMax.toBigDecimal())
}
我已经阅读了关于这个主题的Grails文档以及其他一些文章,但它只提到了避免SQL注入的HQL方法
criteria是否在后景色中使用HQL?
或者更直接地说,这种类型的条件查询对SQL注入安全吗
我对安全问题相当陌生。是的,您示例中的条件语句是安全的,不会被注入
Criteria语句只是Hibernate API的一个方便构建器,因此使用它构造的任何查询都具有相同的行为