zoukankan      html  css  js  c++  java
  • 登录SQL注入

    在登录页面的账号密码的输入框中分别输入,这个值:1' or '1'='1

     一,验证的数据库语句,讲传人的值组合成数据库语句:

            public DataTable CheckLogin(string name, string pwd)
            {
                string strSqlCom = "select *from UserInfo where Name = '" + name + "' and Pwd = '" + pwd + "'";
                return _db.ExceTable(strSqlCom);
            }

    运行调试结果为:

     二,在SqlHelper中的代码为:

            public DataTable ExceTable(string strCom) //该方法返回一个DataTable类型
            {
                try
                {
                    SqlDataAdapter sda = new SqlDataAdapter(strCom, _sqlCon);
                    DataTable ds = new DataTable();
                    sda.Fill(ds);
                    return ds;
                }
                finally
                {
                    _sqlCon.Close();
                }
            }

    运行调试结果为:

    三,返回验证登录代码为:

     public bool CheckLogin(string name, string pwd)
            {
                DataTable ds = new DataTable();
                ds = _login.CheckLogin(name, pwd);
                if (ds.Rows.Count > 0)
                {
                    return true;
                }
                else
                {
                    return false;
                }
            }

    运行调试结果为:

    这是后可以显示,当输入以上条件,他将我数据库的用户表的所有用户都选出来了,则返回true,登录成功

     四,防止SQL注入方法:

    1》初始化参数名和参数类型:参数化方法,参数类型的指定,能提高类型安全,有效防止SQL注入

            StringBuilder strSql = new StringBuilder();
                strSql.Append("insert into UserInfo(");
                strSql.Append("UsersName)");
                strSql.Append(" values (");
                strSql.Append("@UsersName)");
                SqlParameter[] parameters = {new SqlParameter("@UsersName", SqlDbType.VarChar,50)};
           parameters[0].Value = model.UsersName;
  • 相关阅读:
    Educational Codeforces Round 59 (Rated for Div. 2)E. Vasya and Binary String 区间dp
    MySQL语法大全
    D. Buy a Ticket(优先队列+dijkstra)
    Two Sets(并查集分类)
    KMP浅显易懂
    深度理解链式前向星
    快速幂(幂运算取模的logn算法)
    hdu---1950---Bridging signals解题报告(求Lis n*logn贪心+二分搜索)
    dp背包
    线段树模板
  • 原文地址:https://www.cnblogs.com/May-day/p/5831605.html
Copyright © 2011-2022 走看看