防SQL注入的类

public sealed Class CleanString
{
public static string InputText(string inputString,int maxLength)
{
StringBuilder retVal=new StringBuilder();//构造临时字符串数组
if((inputString!=null)&&(inputString!=string.Empty))
//上面一句大家看看可否写成象下面这样?
//if(inputString.trim()!=null)
{
inputString=inputString.Trim();//去掉输入字符两端空格
if(inputString.Length>maxLength)//在前台显示一定的字符数
{
inputString.SubString(0,maxLegth);
}

for(int i=0;i<inputString.Length;i++)
{
switch(inputString[i])
{
case'"':retVal.Append("&quot;");break;
case'<':retVal.Append("&lt;");break;
case'>':retVal.Append("&gt;");break;
default:retVal.Append(inputString[i]);break;
}
}
retVal.Replace(""," ");
}
return retVal.Tostring();
}
}


应用如下:
webForm上添一textBox1,textBox2
textBox2.text=CleanString.InputText(TextBox1.text,TextBox1.Text.Length)
在DB中应用如下:
string cmdText="insert into Employee(Company) values('"
+CleanString.InputText(textBox1.Text,textBox1.Text.Length)+"')";

...
sqlCommand myCommand=new SqlCommand(cmdText,myConnection);
myConnection.open();
myCommand.ExecuteNonQuery();

posted on 2005-10-10 11:05  冷月孤峰  阅读(286)  评论(0)    收藏  举报