• 关于GridView防止用户SQL注入的方法


    //下面是我写的一个关于GridView的例子;
    int rid = Convert.ToInt32(this.GridView1.DataKeys[e.RowIndex].Value.ToString());
    string rtitle = ((TextBox)(this.GridView1.Rows[e.RowIndex].Cells[1].Controls[0])).Text;
    string rauthor = ((TextBox)(this.GridView1.Rows[e.RowIndex].Cells[2].Controls[0])).Text;
    string rtime = ((TextBox)(this.GridView1.Rows[e.RowIndex].Cells[3].Controls[0])).Text;
     
    //我写的一条sql执行语句,里面的rid 、rtitle 、rauthor 、rtime 是从GridView控件里面获取的,
    string sqlCon = "update news set ntitle='" + rtitle + "',nauthor='" + rauthor + "',ntime='" + rtime + "' where nid=" + rid;
     
    //如果用户在rtitle输入  '--'  的话就变成
    [code=SQL]update news set ntitle=''--'',nauthor='--',ntime='2007/8/15 0:00:00' where nid=31
    //这样的话数据库就彻底崩溃了
     
    //现在我把他改成调用存储过程的方式来修改,
    int rid = Convert.ToInt32(this.GridView1.DataKeys[e.RowIndex].Value.ToString());
    string rtitle = ((TextBox)(this.GridView1.Rows[e.RowIndex].Cells[1].Controls[0])).Text;
    string rauthor = ((TextBox)(this.GridView1.Rows[e.RowIndex].Cells[2].Controls[0])).Text;
    string rtime = ((TextBox)(this.GridView1.Rows[e.RowIndex].Cells[3].Controls[0])).Text;
    using (SqlConnection con = new SqlConnection(conStr))
    {
          string procName = "proc_updatenews";
          SqlCommand com = new SqlCommand(procName, con);
          com.CommandType = CommandType.StoredProcedure;
          com.Parameters.AddWithValue("@rid", rid);
          com.Parameters.AddWithValue("@rtitle", rtitle);
          com.Parameters.AddWithValue("@rauthor", rauthor);
          com.Parameters.AddWithValue("@rtime", rtime);

           con.Open();
           result = com.ExecuteNonQuery();
    }
    //这样执行的结果却是好的。。
  • 相关阅读:
    Swift开发第六篇——操作运算符也可以重载& func 的参数修饰
    Swift开发第五篇——四个知识点(Struct Mutable方法&Tuple&autoclosure&Optional Chain)
    Swift开发第四篇——柯里化
    Swift开发第三篇——Playground
    Swift开发第一篇——异常处理及断言
    在Linux CentOS 6.5 (Final)上安装git-1.9.0
    如何有效地配置基于Spring的应用系统
    关于URL编码的问题
    如何优化pom依赖项?
    启动Tomcat的几种方式
  • 原文地址:https://www.cnblogs.com/wanzhongjun/p/6406240.html
Copyright © 2020-2023  润新知