MVC模式做的网站 存在SQL注入的隐患吗?

解决方案 »

  1.   

    此回复为自动发出,仅用于显示而已,并无任何其他特殊作用
    楼主【chenniaoc】截止到2008-07-08 20:29:13的历史汇总数据(不包括此帖):
    发帖的总数量:4                        发帖的总分数:80                       每贴平均分数:20                       
    回帖的总数量:18                       得分贴总数量:0                        回帖的得分率:0%                       
    结贴的总数量:4                        结贴的总分数:80                       
    无满意结贴数:0                        无满意结贴分:0                        
    未结的帖子数:0                        未结的总分数:0                        
    结贴的百分比:100.00%               结分的百分比:100.00%                  
    无满意结贴率:0.00  %               无满意结分率:0.00  %                  
    敬礼!
      

  2.   

    顶2楼的。建议完全弃用Statement,用PreparedStatement。
    你可以测试一下用PreparedStatement注入会怎样
      

  3.   

    sql注入一般是拼接sql语句造成的,从浏览器传来变量username和password,其值分别是1' or '1'='1、a,有的人喜欢这样:sqlstr="select * from users where username=\'"+username+"\'" and password=\'"+password+"\'";经过这条语句后,sqlstr的值为:select * from users where username='1' or '1'='1' and password='a',这条sql语句在数据库中肯定能查到纪录,这样就产生了sql注入,而使用外部变量sql注入就不存在了:sqlstr="select * from users where username=:username and password=:password"