7
我正在使用Hibernate来保护我的网站免受SQL注入攻击。Hibernate Criteria Api是否完全防止SQL注入
我听说Hibernate Criteria API比HQL更强大。 Hibernate Criteria Api是否完全防止SQL注入?
我正在使用Hibernate来保护我的网站免受SQL注入攻击。Hibernate Criteria Api是否完全防止SQL注入
我听说Hibernate Criteria API比HQL更强大。 Hibernate Criteria Api是否完全防止SQL注入?
是的,它的确如此。
Criteria API以及HQL或JPQL中的查询参数都会转义参数并且不会执行恶意SQL。
仅当您将参数连接到查询中时才会暴露该漏洞。然后,任何恶意SQL都会成为您查询的一部分。
编辑该OWASP功能SQL injection prevention cheatsheet。使用标准查询相当于防御选项1:使用准备好的语句。
结论是什么。标准API是否完全保护我的网站免受SQL注入? – 2013-02-25 12:04:10
@яєηנιтн.я对不起,听起来不确定。是的,它确实。 – kostja 2013-02-25 12:08:27
@яєηנιтн.я实际上保护你免受SQL注入的是Statements,用于Criteria,HQL甚至纯JDBC,如果你正确使用它的话。结论是:不要连接字符串来创建您的查询。使用API。 – 2013-02-25 12:27:01