Hibernate Criteria Api是否完全防止SQL注入

ѕтƒ*_*ѕтƒ 10 java hibernate sql-injection criteria-api hibernate-criteria

我正在使用Hibernate保护我的网站免受SQL注入.

我听说Hibernate Criteria API比HQL更强大.Hibernate Criteria Api是否完全防止SQL注入?

kos*_*tja 12

是的,它确实.

Criteria API以及HQL或JPQL中的查询参数都会转义参数,并且不会执行恶意SQL.

只有将参数连接到查询中时,才会暴露此漏洞.然后,任何恶意SQL都会成为您查询的一部分.

编辑 OWASP具有SQL注入预防备忘单.使用条件查询等同于防御选项1:使用预准备语句.

  • @яєηנιтн.я实际上保护你免受SQL注入的是`Statements`,它与Criteria,HQL甚至纯JDBC一起使用,如果你正确使用它.结论是:不要连接String来创建查询.使用API​​. (3认同)