知道SQL Injection 但是平时懒的去做这方面的东西,以后一定还得注意
.Net的项目看来要用存储过程和分层方式来写了
SQL Injection 讲解
http://en.wikipedia.org/wiki/SQL_injection
方法:(网上搜集)
1.带参数的的存储过程来完成用户验证的过程
2.用户通过网址提交过来的变量参数进行检查的代码,发现客户端提交的参数中有"exec、insert、select、delete、from、 update、count、user、xp_cmdshell、add、net、Asc"等用于SQL注入的常用字符时,立即停止执行并给出警告信息或转 向出错页面
3.替换掉sql敏感的符号
public static string CleanString(string inputString)
{
StringBuilder retVal = new StringBuilder();
if ((inputString != null) && (inputString != String.Empty))
{
inputString = inputString.Trim();
for (int i = 0; i < inputString.Length; i++)
{
switch (inputString[i])
{
case '"':
retVal.Append(""");
break;
case '<':
retVal.Append("<");
break;
case '>':
retVal.Append(">");
break;
default:
retVal.Append(inputString[i]);
break;
}
}
retVal.Replace("'", " ");
}
return retVal.ToString();
}