1、请问在插入数据不用where的时候需要过滤sql注入字符吗。
2、如果在插入数据或更新数据的时候也要过滤掉注入字符的话,那么等我真的需要发布这些词的时候怎么办呢。

解决方案 »

  1.   

    1.有传入参数的时候就需要注意。
    2.过滤并不一定是不让输入或者删掉,也可能是按SQL的语法修改,比如数字类型的参数里输入单引号'是不允许的,字符串类型的参数里输入'就转换成''
      

  2.   

    如果我在做插入数据的操作的时候不用下面这种写法
    insert into table (a,b,c) values("select","update","delete")
    而用下面这种写法
    Rs.Addnew
    Rs("a")="select"
    Rs("b")="update"
    Rs("c")="delete"
    Rs.update
    用这种写法还用过滤sql字符吗?
      

  3.   

    楼上的说要过滤特殊符号。那如果在存入数据的时候一定要存入这些符号怎么办。就像csdn论坛我确定要把我的正确的sql语句发表出来,符号也不能错。那要怎么过滤呢。
      

  4.   

    比如MSSQL里,单引号表示字符串结束,那在字符串里表示单引号就是用两个单引号。再比如说表的字段名可以SELECT,但在引用这个字段时一定要加[],写成[SELECT]的形式。如果要在字段里也使用]这个字符,就要用两个]]表示。不同数据库有不同的表示方法,你可以查阅一下相关的帮助文档,里面有详细说明的。
      

  5.   

    SQL注入专题
    http://topic.csdn.net/u/20081205/09/3dd06076-bcbe-45d4-998c-8999fdbe6fae.html