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;
  • 相关阅读:
    asp.net 中input radio checked 无效
    AD对象DirectoryEntry本地开发
    Linux部署
    spring 定时任务配置使用
    闲言碎语
    javascript 折后保留一位小数
    JSON 实力应用
    水晶报表(crystal report )中显示CheckBox
    html 笔记
    转载-js按回车键实现登陆-myself
  • 原文地址:https://www.cnblogs.com/May-day/p/5831605.html
Copyright © 2011-2022 走看看