当前位置: 代码迷 >> SQL >> java程序防止sql流入的方法
  详细解决方案

java程序防止sql流入的方法

热度:84   发布时间:2016-05-05 12:14:52.0
java程序防止sql注入的方法

1.通过拦截 过滤参数

2.通过底层DAO? 对每个参数进行过滤

3.进行参数绑定如

使用named parameter

使用named parameter,我们重新写上面的查询语句:

String queryString = "from?table item where?clum1 like :param";

冒号后面是一个named parameter,我们可以使用Query接口将一个参数绑定到param参数上:

????List result = session.createQuery(queryString)
??????????????????????.setString("param", param)
??????????????????????.list();

?

如果有多个参数需要被帮定,我们这样处理:

String queryString = "from table where clum1 like :param1"
????????????????????????????????????????????? + "and clum2 > :param2";
List result = session.createQuery(queryString)
??????????????????.setString("param1", param1)
???????????????????.setDate("clum2 ", param2)
??????????????????.list();

clum2 //是date类型

最后,在named parameter中可能有一个参数出现多次的情况,应该怎么处理呢?

String sql= "from table? where?clums??like :param"
???????????????????????????+ " or clums?? like :param";
List result = session.createQuery(sql)
??????????????????.setString("param", param)
???????????????????.list();

  相关解决方案