java - Hibernate Criteria Api 是否完全防止 SQL 注入(inject)

标签 java hibernate sql-injection criteria-api hibernate-criteria

我正在使用 Hibernate 来保护我的网站免受 SQL 注入(inject)攻击。

听说 Hibernate Criteria API 比 HQL 更强大。 Hibernate Criteria Api 是否可以完全防止 SQL 注入(inject)?

最佳答案

是的,确实如此。

Criteria API以及HQL或JPQL中的查询参数都对参数进行了转义,不会执行恶意SQL。

仅当您简单地将参数连接到查询中时才会暴露该漏洞。然后任何恶意 SQL 都会成为您查询的一部分。

编辑 OWASP 有一个 SQL injection prevention cheatsheet .使用条件查询等同于防御选项 1:使用准备好的语句。

关于java - Hibernate Criteria Api 是否完全防止 SQL 注入(inject),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15065906/

相关文章:

java - Android 应用程序因 java.lang.StackOverflowError 而失败

java - 你能根据查询创建一个 Intent 过滤器吗?

java - 如何以编程方式在根 gradle.build 文件中创建子项目

sql - rails find_by sql 注入(inject)

Java 可变链表

mysql 两个FK在同一个表中

java - 打开和关闭 Hibernate session

spring - 在 Spring 项目中使用 DataSource en sessionFactory 的 Hibernate 注释

PostgreSQL:LISTEN 的参数替换?

php - ModSecurity 提供通用 SQL 注入(inject)保护错误