请教一个问题
我该如何防止被常用SQL注入的危险我的页面比如 thread.aspx?id=123如果别人在 123 后面加上一个 ' 号,或者 1=1 1=2 等,都会看到页面错误,并且显示出了,该页面的错误信息,并显示出了我的数据库结构
我现在想不管别人怎么加,最后显示的,只是该页面,请问代码该怎么写呢?谢谢

解决方案 »

  1.   

    用参数的方式传递,而不是拼接字符串:
    SqlCommand command = new SqlCommand(@"INSERT INTO UserInfo(@UserName, @City)--", connection);
    command.Parameters.Add("@UserName").Value = username;
    command.Parameters.Add("@City").Value = city;
      

  2.   

    你可以使用正则表达式来过滤,只接受整数类型就可以了,也可以使用这个方法Int32.TryParse()来处理。