写了一个防SQL注入的类,大家看看效果如何!

teacher1998 2005-06-27 04:15:03
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(""");break;
case'<':retVal.Append("<");break;
case'>':retVal.Append(">");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();
...

...全文
171 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
冷月孤峰 2005-06-27
  • 打赏
  • 举报
回复
楼上说的正点:)
gxboy 2005-06-27
  • 打赏
  • 举报
回复
数据库底层设计的烂,上层就要做N多事情。麻烦。
sykpboy 2005-06-27
  • 打赏
  • 举报
回复
......
lovebanyi 2005-06-27
  • 打赏
  • 举报
回复
没有必要吧,,在asp.net全部用参数感觉还可以的。
xiaomaolover 2005-06-27
  • 打赏
  • 举报
回复
1.限制长度
2.过滤特殊字符
3.用parameter担交,
fkphp 2005-06-27
  • 打赏
  • 举报
回复
这是你写的吗?

不是petshop 3.0 里面的ClearString.Input...那个吗?
teacher1998 2005-06-27
  • 打赏
  • 举报
回复
还有哪里需要注意呢?
smile9961 2005-06-27
  • 打赏
  • 举报
回复

62,041

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧