grails - 防止 Grails 标准查询中的 SQL 注入(inject)

标签 grails hql sql-injection criteria

我有一个条件查询,它使用用户输入的一些params,例如:

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 注入(inject)的 HQL 方法。

标准是否在后台使用 HQL? 或者更直接地说,这种类型的条件查询对 SQL 注入(inject)安全吗?

我对安全问题相当陌生。

最佳答案

是的,您示例中的条件语句可以安全地注入(inject)。

Criteria 语句只是 Hibernate Criteria 的一个方便的构建器。 API,因此您用它构造的任何查询都具有相同的行为。

关于grails - 防止 Grails 标准查询中的 SQL 注入(inject),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8183220/

相关文章:

javascript - 如何从 grails RemoteLink 更新 TextField?

hibernate - Grails-Hibernate XML-自定义列名

java - 使用 Hibernate 中的条件按月分组

hadoop - 如果该列包含空值,如何从Hive表中获取列名?

asp.net - 使用 ASP.net 和 Access 数据库从 SQL 注入(inject)中保护网站

mysql - laravel 5.1 有多安全?

grails - Grails Portlet插件问题

forms - Grails-重复的表单提交处理-withForm {}如何工作?

java - hibernate 标准 : Joining table without a mapped association

sql-server - 如何清理(防止SQL注入(inject))SQL Server中的动态SQL?