110,534
社区成员
发帖
与我相关
我的任务
分享
string gongji="1=1';delete from test--";
SqlConnection con = new SqlConnection("database=test;server=localhost;User id=sa;password=密码");
con.Open();
string sql = "select * from test where username='" + gongji + "'";
SqlDataAdapter sda = new SqlDataAdapter(sql, con);
DataSet ds = new DataSet();
sda.Fill(ds);
con.Close();
if (ds != null)
{
}
以上代码亲测的结果是,表test的所有行都被删除了string cmdStr = "select * from USERINFO where USERS=@uname and PWD=@upwd";
SqlCommand cmd = new SqlCommand(cmdStr, con);
cmd.Parameters.Add("@uname", SqlDbType.Char,10).Value = this.username.Text.ToString();
cmd.Parameters.Add("@upwd", SqlDbType.Char,10).Value = this.userpwd.Text.ToString();
SqlDataReader reader = cmd.ExecuteReader();
关键是 我想 知道 SqlDataAdapter 是不是没有注入危险,或者是我理解还不够透彻。