日期:2014-05-20  浏览次数:20693 次

如何防止SQL注入
网站怎么防止这样的事发生,越详细越好,谢谢各问的参与,还有就是如果代码都是能sql加参数的形式,还存在这样的问题吗?

------解决方案--------------------
过滤URL中的一些特殊字符,动态SQL语句使用PrepareStatement..
------解决方案--------------------
注入的方式就是在查询条件里加入SQL字符串. 可以检查一下提交的查询参数里是否包含SQL,但通常这样无益.

最好的办法是不要用拼接SQL字符串,可以用prepareStatement,参数用set方法进行填装
------解决方案--------------------
sql注入形式:...where name="+name+",这样的sql语句很容易sql注入,可以这样:
jdbcTemplate.update("delete from userinfo where id=? and userId=?", new Object[]{userInfo.getId(),userInfo.getUserId()});
我的一些代码,望有用!
------解决方案--------------------
Sql注入漏洞攻击:如1'or'1'='1
使用参数化查询避免
cmd.CommandText="select count(*) from 表名 where username=@a and password=@b";
cmd.parameters.Add(new SqlParameter("a",".."));
cmd.parameters.Add(new SqlParameter("b",".."));
------解决方案--------------------
恩,用框架,用jpa的pojo。。就没这种事情了