comm = new SqlCommand("select username,pwd from userdata where username=@username and pwd=@pwd", conn);
comm.Parameters.AddWithValue("username", "ff' or '1'='1");
comm.Parameters.AddWithValue("pwd", pwd);
这个ff' or '1'='1 那变成sql语句时@username这个变量是什么样子的?我是这样理解的:
在sql中 @username='ff'' or ''1''=''1' 变成这样子了 ? 这样ff' or '1'='1是作为一个字符串赋值给字段了?自己想的不知对不对,有知道的朋友指点下 好像有点类似于str.Replace("'","''"),是不是这样?
comm.Parameters.AddWithValue("username", "ff' or '1'='1");
comm.Parameters.AddWithValue("pwd", pwd);
这个ff' or '1'='1 那变成sql语句时@username这个变量是什么样子的?我是这样理解的:
在sql中 @username='ff'' or ''1''=''1' 变成这样子了 ? 这样ff' or '1'='1是作为一个字符串赋值给字段了?自己想的不知对不对,有知道的朋友指点下 好像有点类似于str.Replace("'","''"),是不是这样?
解决方案 »
免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货