如题。如果用户名,密码啊这一类的输入框,还可以要求不能输入 % ; - ' 这一类的特殊字符,但是如果是一个多文本输入框,比如“个人简介”,怎么防止用户在里面输入非法字符呢? 

解决方案 »

  1.   

    用验证控件;
    使用参数化SQL语句;
    特殊字符替换;
      

  2.   

    在ADO.NET中经常需要跟各种数据库打交道,在不实用存储过程的情况下,使用参数化SQL语句一定程度上可以防止SQL注入,同时对一些较难赋值的字段(如在SQL Server中Image字段,在Oracle中Clob字段等)使用参数化SQL语句很容易就能赋值,所以本人经常在ADO.NET中使用参数化SQL语句,近几年来陆续跟SQL Server/Oracle/ MySQL/Access打交道,积累了一些心得,现在整理出来供大家参考。http://blog.csdn.net/zhoufoxcn/archive/2008/03/19/2195618.aspx
      

  3.   

    这样还是治标不治本, 直接用SqlParameter传递这些就可以了.
      

  4.   

    用参数可以有效的防止sql注入攻击
      

  5.   

    参数化sql,显示的时候Server.HTMLEncode