zoukankan      html  css  js  c++  java
  • 登陆模块防止恶意用户SQL注入攻击 dodo

    可以采用通过存储过程参数的方法防止恶意用户使用“‘”攻击。
    函数:
    public SqlDataReader GetUserLoginByProc(string sUserName, string sPassword)
    {
        //创建连接
        SqlConnection myConnection = new SqlConnection(ConfigurationManager.ConnectionStrings["SQLCONNECTIONSTRING"].ConnectionString);
        //创建Command
       SqlCommand myCommand = new SqlCommand("Pr_GetUserLogin",myConnection);
        //设置为执行存储过程
       myCommand.CommandType = CommandType.StoredProcedure;
        //添加存储过程的参数
       SqlParameter pUserName = new SqlParameter("@UserName",SqlDbType.VarChar,32);
       pUserName.Value = sUserName;
        myCommand.Parameters.Add(pUserName);
        SqlParameter pPassword = new SqlParameter("@Password",SqlDbType.Varchar,255);
        pPassword.Value = sPassword;
        myCommand.Parameters.Add(pPassword);
        //定义DataReader
        SqlDataReader dr = null;
        try
        {
            //打开连接
           myConnection.Open();
           //读取数据
           myCommand.ExecuteReader(CommandBehavior.CloseConnection);
        }
        catch(SqlException ex)
        {
            //抛出异常
            throw new Exception(ex.Message,ex);
        }
        //返回DataReader
        return dr;
    }
    说明:代码是2.0下的。
  • 相关阅读:
    [转]mysql的查询、子查询及连接查询
    [转]Mysql之Union用法
    [转]Mysql Join语法解析与性能分析
    【转】mysql中select用法
    [转]mysql update操作
    【转】mysql INSERT的用法
    框架:NHibernate学习目录
    NET基础篇——Entity Framework 数据转换层通用类
    MVC5 + EF6 + Bootstrap3
    MVC5+EF6 入门完整教程
  • 原文地址:https://www.cnblogs.com/zgqys1980/p/540658.html
Copyright © 2011-2022 走看看