首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >spring/hibernate如何保证不受SQL注入的影响,以及如何在内部处理它?

spring/hibernate如何保证不受SQL注入的影响,以及如何在内部处理它?
EN

Stack Overflow用户
提问于 2016-10-14 04:44:15
回答 1查看 628关注 0票数 1

我知道spring和hibernate受到SQL注入的保护。

  1. 但是我如何知道我的应用程序在SQL注入攻击中是安全的呢?
  2. 任何ORM工具如何处理SQL注入

提前谢谢..。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-10-14 05:08:08

如果正确使用API,Hibernate确实提供了来自SQL注入的安全性。

来自:注入

--关于SQL注入的一点注记 由于这是一个热门话题,我现在将讨论,但稍后将详细讨论。

  • Hibernate不授予SQL注入豁免权,因此可以随意滥用API。
  • HQL (SQL的Hibernates子集)没有什么特别之处使它或多或少容易受到影响。
  • 诸如createQuery(String )和createSQLQuery(String )之类的函数创建一个查询对象,在调用commit()时将执行该查询对象。如果查询字符串已被污染,则将进行SQL注入。这些功能的细节将在后面讨论。

始终使用PreparedStatement来防止SQL,它是JDBC的一部分,Hibernate本身也使用这个看见

例如:

代码语言:javascript
运行
复制
String query1 = "select * from MyBean where id = "+ id;//Not secure
String query2 = "select * from MyBean where id = :id";//Secure

关于这个主题的一篇有用的文章:http://software-security.sans.org/developer-how-to/fix-sql-injection-in-java-hibernate

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/40035076

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档