首页 新闻 搜索 专区 学院

关于SQL注入

0
[已解决问题] 解决于 2009-09-08 20:01

我在所有用户输入的地方,以及通过GET全传值的地方,我在服务器端将如下关键字进行替换,

我想请问这样做之后,SQL注入是不是100%解决了?或者说是我还需要改进哪些地方?

public static string ReplaceDB(string s)
    {
        s = s.ToLower();


        s = s.Replace("-", "—"); //sql注释符

        s = s.Replace("'", "′");//SQL单引号

        s = s.Replace("<", "&lt;");

        s = s.Replace(">", "&gt;");

      //下面是SQL关键字
        s = s.Replace("drop", "drop");

        s = s.Replace("delete", "delete");

        s = s.Replace("update", "update");

        s = s.Replace("select", "select");

        s = s.Replace("alter", "alter");
        return s;
    }

Yuanet的主页 Yuanet | 初学一级 | 园豆:32
提问于:2009-08-27 12:19
< >
分享
最佳答案
0

依靠替换不可能完全解决,对于SQL注入可以使用参数解决

Gray Zhang | 专家六级 |园豆:17610 | 2009-08-27 12:36
其他回答(4)
0

最好是用参数化的方式

等钩的鱼 | 园豆:10 (初学一级) | 2009-08-27 12:56
0

使用参数化吧,字符替换没啥鸟用

IORY | 园豆:12 (初学一级) | 2009-08-27 16:51
0

同意一楼的观点,使用存储过程参数化。

Kinglee | 园豆:3158 (老鸟四级) | 2009-08-27 19:31
0

支持,对于SQL注入问题,最后是用存储过程替换SQL语句!

太平洋 | 园豆:141 (初学一级) | 2009-08-27 20:21
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册