.net的SQL注入问题

这里使用参数化的方法解决SQL注入问题;
以C#语言Winform防SQl注入做用户登录为例子

  try
                {
                    string strconn = ConfigurationManager.ConnectionStrings["sqlConn"].ConnectionString;
                    SqlConnection conn = new SqlConnection(strconn);
                    conn.Open();
                    //解决SQL注入问题,使用参数化
                    string sql = "select count(*) from Table_user where id=@Id and pass=@Pass";
                    SqlCommand cmd = new SqlCommand(sql, conn);
                   //给参数复制
                    cmd.Parameters.AddWithValue("@Id", textBox1.Text);
                    cmd.Parameters.AddWithValue("@Pass", textBox2.Text);
                    int res = (int)cmd.ExecuteScalar();
                    if (res !=0)
                    {
                        MessageBox.Show("ok");
                    }
                    else
                    {
                        MessageBox.Show("error");
                    }
                    conn.Close();
                }

       catch (Exception ex)
                {

                  MessageBox.Show("error");
                  MessageBox.Show(ex.Message.ToString() + "失败");
                }

结果图:
以:账号为“ s’ or 1=1 --” 为例
密码乱打;
在这里插入图片描述

大学菜鸡生一枚,学习.net,望大神多多指导。

发布了16 篇原创文章 · 获赞 2 · 访问量 206

猜你喜欢

转载自blog.csdn.net/weixin_43482965/article/details/104304431