.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,望大神多多指导。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值
>