我正在使用 Hibernate 来保护我的网站免受 SQL 注入。
听说 Hibernate Criteria API 比 HQL 更强大。Hibernate Criteria Api 是否完全防止 SQL 注入?
我正在使用 Hibernate 来保护我的网站免受 SQL 注入。
听说 Hibernate Criteria API 比 HQL 更强大。Hibernate Criteria Api 是否完全防止 SQL 注入?
是的,它确实。
Criteria API 以及 HQL 或 JPQL 中的查询参数都对参数进行了转义,并且不会执行恶意 SQL。
仅当您简单地将参数连接到查询中时,才会暴露该漏洞。然后任何恶意 SQL 都会成为您查询的一部分。
编辑OWASP 具有SQL 注入预防备忘单。使用条件查询相当于防御选项 1:使用准备好的语句。