String hql= "from bean.User u where u.name=? and u.password=?"
this.getHibernateTemplate().find(hql, new String[]{"test", "123"});
String queryString = "select count(*) from bean.User u where u.name=:myName and u.password=:myPassword";
String[] paramName= new String[]{"myName", "myPassword"};
String[] value= new String[]{"xiyue", "123"};
this.getHibernateTemplate().findByNamedParam(queryString, paramName, value);
会有sql注入漏洞吗?
11 个解决方案
#1
sql语句用字符串拼接的方式会有sql注入风险
#2
这个没试过,应该是将sql发过去执行的,你自己试一下看看
#3
还是看你的HQL怎么写 如果HQL中有拼SQL的 还是有可能 如果都是参数的 那不会
#4
用?或者:字段来赋值字段也会吗?
如:this.getHibernateTemplate().find("from bean.User u where u.name=?", "test");
或模糊查询:this.getHibernateTemplate().find("from bean.User u where u.name like ?", "%test%");
#5
用?或者:字段来赋值字段也会吗?
如:this.getHibernateTemplate().find("from bean.User u where u.name=?", "test");
或模糊查询:this.getHibernateTemplate().find("from bean.User u where u.name like ?", "%test%");
#6
用?或者:字段来赋值字段也会吗?
如:this.getHibernateTemplate().find("from bean.User u where u.name=?", "test");
或模糊查询:this.getHibernateTemplate().find("from bean.User u where u.name like ?", "%test%");
#7
这样算安全的
#8
目测你这两种方式不会造成注入漏洞
#9
目测你这两种方式不会造成注入漏洞
String hql = "select * from table where username="+username+"and password = "+password;
hibernatetemplate.find(hql);
这种查询应该就会出现sql注入漏洞对吗?
#10
目测你这两种方式不会造成注入漏洞
String hql = "select * from table where username="+username+"and password = "+password;
hibernatetemplate.find(hql);
这种查询应该就会出现sql注入漏洞对吗?
恩呢,这种就会有注入的危险。
#11
hibernate一般不会造成sql注入
#1
sql语句用字符串拼接的方式会有sql注入风险
#2
这个没试过,应该是将sql发过去执行的,你自己试一下看看
#3
还是看你的HQL怎么写 如果HQL中有拼SQL的 还是有可能 如果都是参数的 那不会
#4
sql语句用字符串拼接的方式会有sql注入风险
用?或者:字段来赋值字段也会吗?
如:this.getHibernateTemplate().find("from bean.User u where u.name=?", "test");
或模糊查询:this.getHibernateTemplate().find("from bean.User u where u.name like ?", "%test%");
#5
还是看你的HQL怎么写 如果HQL中有拼SQL的 还是有可能 如果都是参数的 那不会
用?或者:字段来赋值字段也会吗?
如:this.getHibernateTemplate().find("from bean.User u where u.name=?", "test");
或模糊查询:this.getHibernateTemplate().find("from bean.User u where u.name like ?", "%test%");
#6
还是看你的HQL怎么写 如果HQL中有拼SQL的 还是有可能 如果都是参数的 那不会
用?或者:字段来赋值字段也会吗?
如:this.getHibernateTemplate().find("from bean.User u where u.name=?", "test");
或模糊查询:this.getHibernateTemplate().find("from bean.User u where u.name like ?", "%test%");
#7
sql语句用字符串拼接的方式会有sql注入风险
用?或者:字段来赋值字段也会吗?
如:this.getHibernateTemplate().find("from bean.User u where u.name=?", "test");
或模糊查询:this.getHibernateTemplate().find("from bean.User u where u.name like ?", "%test%");
这样算安全的
#8
目测你这两种方式不会造成注入漏洞
#9
目测你这两种方式不会造成注入漏洞
String hql = "select * from table where username="+username+"and password = "+password;
hibernatetemplate.find(hql);
这种查询应该就会出现sql注入漏洞对吗?
#10
目测你这两种方式不会造成注入漏洞
String hql = "select * from table where username="+username+"and password = "+password;
hibernatetemplate.find(hql);
这种查询应该就会出现sql注入漏洞对吗?