当前位置: 首页 > 面试题库 >

如果使用休眠模式,SQL注入的安全性是多少

简培
2023-03-14
问题内容

请问Hibernate防范SQL injection attack?如果我正在使用休眠模式,那么我可以完全免受SQL注入攻击吗?我听说使用Hibernate执行dynamic SQL statement带有用户输入的内置内容可以使攻击者修改语句的含义或执行任意命令SQL commands


问题答案:

Hibernate可以防止SQL注入攻击吗?

不,它不能保护错误编写的代码 ,因此在编写查询时需要小心。始终使用准备好的语句样式,例如考虑以下 HQL 查询,

String query1 = "select * from MyBean where id = "+ id;
String query2 = "select * from MyBean where id = :id";

query1 仍然容易受到 SQL Injection的攻击 ,而 query2 则不然。

因此,简而言之, hibernate为您提供了许多应用于防止
SQL注入攻击的方法



 类似资料:
  • 问题内容: 请问防范?如果我使用的是hibernate模式,那么我完全可以免受SQL注入攻击吗?我听说使用执行带有用户输入的内置内容可以使攻击者修改语句的含义或执行任意命令。 问题答案: Hibernate可以防止SQL注入攻击吗? 不,它不能保护写错的代码 ,因此编写查询时需要小心。始终使用准备好的语句样式,例如考虑以下 HQL 查询, query1 仍然容易受到 SQL Injection的攻

  • 问题内容: 这是一个Hibnerate多态性问题和一个数据模型设计问题。他们交织在一起。过去我曾经使用过Hibernate,并且很喜欢它,但是有时候我发现很难想到除了琐碎的设计之外的任何事情。不能敲打hibernate;只是观察到ORM通常可能具有挑战性。 我认为这是一个Hibernate 101问题,但我不确定。我试图实现的目标甚至不可能。 我有一个抽象类Fruit,它将被分为Apple和Ora

  • 问题内容: 我想使用联接表在两个表之间建立一对多关系。 最后,我想使用Hibernate批注执行此操作。 我找到了一些使用xml映射执行此操作的示例,但没有带注释的示例。 我相信这就是需要创建表的方式 问题答案: 不要寻找例子。阅读官方文档: 另外,请注意,这是单向一对多关联的默认设置。因此,如果默认的表名和列名适合您,您甚至不必提供注释。

  • 问题内容: 我有一个Spring和Hibernate3在生产中运行良好的应用程序。以下是Spring的applicationContext.xml中会话工厂的配置 生产正常。 现在,对于另一个项目,我们正在迁移到Hibernate4。我们使用org.springframework.orm.hibernate4。*包中的Hibernate 4的SessionFactory,TransacionMan

  • 问题内容: 我想将hibernate与MS Access一起使用。我应该使用哪种方言,您能否通过MS Access给我一个示例hibernate配置文件? 问题答案: 对于MS Access,您需要HXTT的方言。您需要使用HXTT提供的hibernate支持包。还有一个示例项目,您可以检查一个完整的示例。 下面是最小配置示例: PS:如果MS Access不是一成不变的要求,也许您应该考虑使用其

  • 问题内容: 使用注释如何将实体中的字段映射为给定对象,该实体是String的“映射”(哈希表)?该对象带有注释,并且其实例已存储在hibernate数据库中。 我发现了使用简单的键和值来定义地图的语法: 奇怪的是,实体是键,而简单类型是值,像这样: 但是我看不到如何为元素映射的简单键做到这一点,也看不到如何使用注释来做到这一点。 问题答案: 您可以简单地使用 JPA批注 (请注意,JPA批注与Hi