用hibernate开发,在进行数据验证时,需不需要考虑万能密码,比如'or'='or'等?

解决方案 »

  1.   

    密码可以加密,不怕注入,但用户名还是可以被sql注入的,仍然能绕过验证。
      

  2.   

    前台js验证
    后台actionform验证
      

  3.   

    对于你所说的“万能密码”,JDBC时使用PreparedStatement..setString(1, password);可以避免。
    对Hibernate也是这样,不要直接用前台传过来的数据拼hql
      

  4.   

    3楼说的没错,谁还用拼sql的方式啊,都用sql参数。nb就让他注入。
      

  5.   

    因为Hibernate是ORM的,因此如果把传进来的数值作为类对象成员,那么Hibernate有足够的机制防止SQL注入。但是如果你还是像以前用构造SQL语句的方法来进行数据查询的话,那么就有问题的了。
      

  6.   

    没有SQL拼接就不会出现这种问题,HIBERNATE没见过