关于SQL注入
SQL注入出现的情况是简单的使用字符串替换拼接的方法对数据库进行操作
特别是只对参数的替换
例:
再CategoryDAO.cs中存在该句
insert into category(name) values('"+caName+"');
因为是对caName的替换
故如果传入的参数为: XXX')delete from category
替换后则为insert into category(name) values('XXX')delete from category
可以看到危险性了。。。。
他可以把你真个表都删除了
所以为了解决这个问题,可以这样解决
对要插入的字符用变量的形式插入
具体方式如下
(其中注意替换参数的语句:
1 SqlParameter[] paras = new SqlParameter[]{
new SqlParameter("@caName",caName)};)
2 using (cmd = new SqlCommand(sql, GetConn()))
{
cmd.Parameters.AddRange(paras);
res = cmd.ExecuteNonQuery();
}
)
SQLHelper.cs:
CategoryDAO.cs
Default.aspx.cs

浙公网安备 33010602011771号