全部使用参数化查询就可以规避注入问题
参考:http://www.cnblogs.com/tronic/archive/2007/02/14/650306.html
楼主的方案应该已经没有用参数化查询吧!! 不过我也建议使用参数化查询!
另外注入的方法很多 跨域注入也是一种。。如果单独的sql注入好像除了 ' 这个需要替换成'' ...其他注入都会报错! 如果是含有html的 就用HtmlEncode一下..其他好像没有什么好说的了..
唉,你的任务很郁闷,简直是让你不带伞却要在雨中躲雨一样
呵呵最好的是使用存储过程因为现在几乎大家都在用这个,用存储过程你的问题就不用多说了,但是说真的你的项目改还真不好改,但是为了方便以后改去和安全,你建议你还是存储过程化一下比较好点
个人看法啊:既然不能使用参数形式,不如就做语句检查吧!把相关的系统关键字、用户关键字做成字典,每次对“用户输入”的语句进行检查。或者仿照javascript 防注入的方式,使用特殊编辑器进行二次转译等。算法可能显得“蛮力”点,但毕竟可以满足需求啊。
最后,拼接语句实在问题多啊,哪怕设法拼接参数组,也不能简单拼接语句啊,呵呵。
替换关键字
或者文字转译
你的方案也只能这么弄
也许还有高手意见更好
...
如实不能用参数化处理的话,只能过滤关键字,其实也不复杂,自己写个GetSafeStr(string strWhere)的Method过滤掉几个主要的危险关键字就可以了