+ -
当前位置:首页 → 问答吧 → 登入账号的漏洞:or '1'='1’--问题怎么解决啊?

登入账号的漏洞:or '1'='1’--问题怎么解决啊?

时间:2011-12-05

来源:互联网

登入账号:or '1'='1’--问题怎么解决啊?

作者: feng_yun123   发布时间: 2011-12-05

1.SQL 关键字过滤
2.数据值参数化

作者: begintransaction   发布时间: 2011-12-05

参数化

特殊字符替换

作者: Sandy945   发布时间: 2011-12-05

用参数化SQL语句,
select count(*) from 用户 where 用户名=@userName and 密码=@password

cmd.Parameters.AddWithValue("@userName",TextBoxUserName.Text.Trim);
cmd.Parameters.AddWidthValue("@password",TextBoxUserPwd.Text.Trim);
if((int)cmd.ExecuteScalar()>0)
  登录成功;
else
  用户名或密码错;

作者: dalmeeme   发布时间: 2011-12-05

分两步判断也可以啊
select pwd from t where user=user
var pwd = (string)ExecuteScalar(sql);
if(pwd != null && pwd = "xxx")..

作者: dongxinxi   发布时间: 2011-12-05