• ado.not--数据库防字符串注入攻击学习及 练习


    数据库防字符串注入攻击:
    cmd.CommandText = "update student set name=@Sname,sex=@Ssex,birthday=@Sbirthday,score=@Sscore where code = @Scode";
    cmd.Parameters.Clear();                ---------一个集合
    cmd.Parameters.Add("@Sname", Sname);
    cmd.Parameters.Add("@Ssex", Ssex);   ---------------------用一个占位符 代替输入的字符串,防止执行
    cmd.Parameters.Add("@Sbirthday", Sbirthday);
    cmd.Parameters.Add("@Sscore", Sscore);
    cmd.Parameters.Add("@Scode", Scode);

    练习题:
    1、Car表数据查出显示
    2、请输入要查的汽车名称:
    请输入要查的汽车油耗:
    请输入要查的汽车马力:
    名称:宝马
    油耗:8
    马力:1 

      1 using System;
      2 using System.Collections.Generic;
      3 using System.Linq;
      4 using System.Text;
      5 using System.Threading.Tasks;
      6 using System.Data.SqlClient;
      7 
      8 namespace _06_22
      9 {
     10     class Program
     11     {
     12         static void Main(string[] args)
     13         {
     14 
     15             //练习题: 
     16           
     17                 #region  显示全部
     18                 //1、Car表数据查出显示
     19                 SqlConnection coon = new SqlConnection("server=.;database=Data0425;user=sa;pwd=123;");
     20                 SqlCommand com = coon.CreateCommand();
     21 
     22                 com.CommandText = "select * from car";
     23                 coon.Open();
     24                 SqlDataReader a1 = com.ExecuteReader();
     25                 if (a1.HasRows)
     26                 {
     27                     while (a1.Read())
     28                     {
     29                         Console.WriteLine("编号:" + a1["Code"] + " 品牌:" + a1["name"] + " 油耗:" + a1["oil"] + " 马力:" + a1["powers"] + " 排量:" + a1["exhaust"] + " 价格:" + a1["price"]);
     30                     }
     31                 }
     32 
     33                 coon.Close();
     34                 #endregion
     35 
     36                 //2、请输入要查的汽车名称:
     37                 //    请输入要查的汽车油耗:
     38                 //    请输入要查的汽车马力:
     39                 //名称:宝马
     40                 //油耗:8
     41                 //马力:1
     42 
     43 
     44 
     45                 for (; ; )
     46                 {
     47                     Console.Write("请输入要查的汽车名称:");
     48                     string cname = Console.ReadLine();
     49                     Console.Write("请输入要查的汽车油耗:");
     50                     string coil = Console.ReadLine();
     51                     Console.Write(" 请输入要查的汽车马力:");
     52                     string cpowers = Console.ReadLine();        //输入查询内容
     53 
     54 
     55                     #region       三项不为空时
     56                     if (cname != "" && coil != "" && cpowers != "")   //三项不为空时
     57                     {
     58                         com.CommandText = "select * from car where name like @cname and oil like @coil and powers like @cpowers ";
     59 
     60                         com.Parameters.Clear();  ------防字符串注入攻击
     61                         com.Parameters.Add("@cname","%"+cname+"%");
     62                         com.Parameters.Add("@coil","%"+coil+"%");
     63                         com.Parameters.Add("@cpowers","%"+cpowers+"%");
     64 
     65                         coon.Open();
     66                         SqlDataReader c1 = com.ExecuteReader();
     67                         if (c1.HasRows)
     68                         {
     69                             while (c1.Read())
     70                             {
     71                                 Console.WriteLine("编号:" + c1["Code"] + " 品牌:" + c1["name"] + " 油耗:" + c1["oil"] + " 马力:" + c1["powers"] + " 排量:" + c1["exhaust"] + " 价格:" + c1["price"]);
     72                             }
     73                             Console.Write("是否结束?[y/n]");   ------是否跳出
     74                             string js = Console.ReadLine();
     75                             if (js == "y")
     76                             { break; }
     77                         }
     78                         else
     79                         { Console.WriteLine("查无此项!!!重新输入!!"); }
     80                         coon.Close();
     81                     }
     82 
     83                     #endregion
     84 
     85                     #region       cname为空时
     86                     else if (cname == "" && coil != "" && cpowers != "")
     87                     {
     88                         com.CommandText = "select * from car where oil like @coil and powers like @cpowers ";
     89 
     90                         com.Parameters.Clear();
     91                         com.Parameters.Add("@coil", "%" + coil + "%");
     92                         com.Parameters.Add("@cpowers", "%" + cpowers + "%");
     93 
     94                         coon.Open();
     95                         SqlDataReader c1 = com.ExecuteReader();
     96                         if (c1.HasRows)
     97                         {
     98                             while (c1.Read())
     99                             {
    100                                 Console.WriteLine("编号:" + c1["Code"] + " 品牌:" + c1["name"] + " 油耗:" + c1["oil"] + " 马力:" + c1["powers"] + " 排量:" + c1["exhaust"] + " 价格:" + c1["price"]);
    101                             }
    102                             Console.Write("是否结束?[y/n]");
    103                             string js = Console.ReadLine();
    104                             if (js == "y")
    105                             { break; }
    106                         }
    107                         else
    108                         { Console.WriteLine("查无此项!!!重新输入!!"); }
    109                         coon.Close();
    110                     }
    111 
    112                     #endregion
    113 
    114                     #region      coil为空时
    115                     else if (cname != "" && coil == "" && cpowers != "")
    116                     {
    117                         com.CommandText = "select * from car where name like @cname and powers like @cpowers ";
    118 
    119                         com.Parameters.Clear();
    120                         com.Parameters.Add("@cname", "%" + cname + "%");
    121                         com.Parameters.Add("@cpowers", "%" + cpowers + "%");
    122 
    123                         coon.Open();
    124                         SqlDataReader c1 = com.ExecuteReader();
    125                         if (c1.HasRows)
    126                         {
    127                             while (c1.Read())
    128                             {
    129                                 Console.WriteLine("编号:" + c1["Code"] + " 品牌:" + c1["name"] + " 油耗:" + c1["oil"] + " 马力:" + c1["powers"] + " 排量:" + c1["exhaust"] + " 价格:" + c1["price"]);
    130                             }
    131                             Console.Write("是否结束?[y/n]");
    132                             string js = Console.ReadLine();
    133                             if (js == "y")
    134                             { break; }
    135                         }
    136                         else
    137                         { Console.WriteLine("查无此项!!!重新输入!!"); }
    138                         coon.Close();
    139                     }
    140 
    141                     #endregion
    142 
    143                     #region       cpowers为空时
    144                     else if (cname != "" && coil != "" && cpowers == "")
    145                     {
    146                         com.CommandText = "select * from car where name like @cname and oil like @coil ";
    147 
    148                         com.Parameters.Clear();
    149                         com.Parameters.Add("@cname", "%" + cname + "%");
    150                         com.Parameters.Add("@coil", "%" + coil + "%");
    151 
    152                         coon.Open();
    153                         SqlDataReader c1 = com.ExecuteReader();
    154                         if (c1.HasRows)
    155                         {
    156                             while (c1.Read())
    157                             {
    158                                 Console.WriteLine("编号:" + c1["Code"] + " 品牌:" + c1["name"] + " 油耗:" + c1["oil"] + " 马力:" + c1["powers"] + " 排量:" + c1["exhaust"] + " 价格:" + c1["price"]);
    159                             }
    160                             Console.Write("是否结束?[y/n]");
    161                             string js = Console.ReadLine();
    162                             if (js == "y")
    163                             { break; }
    164                         }
    165                         else
    166                         { Console.WriteLine("查无此项!!!重新输入!!"); }
    167                         coon.Close();
    168                     }
    169 
    170                     #endregion
    171 
    172                     #region       cname不为空时
    173                     else if (cname != "" && coil == "" && cpowers == "")
    174                     {
    175                         com.CommandText = "select * from car where name like @cname";
    176 
    177                         com.Parameters.Clear();
    178                         com.Parameters.Add("@cname", "%" + cname + "%");
    179                        
    180                         coon.Open();
    181                         SqlDataReader c1 = com.ExecuteReader();
    182                         if (c1.HasRows)
    183                         {
    184                             while (c1.Read())
    185                             {
    186                                 Console.WriteLine("编号:" + c1["Code"] + " 品牌:" + c1["name"] + " 油耗:" + c1["oil"] + " 马力:" + c1["powers"] + " 排量:" + c1["exhaust"] + " 价格:" + c1["price"]);
    187                             }
    188                             Console.Write("是否结束?[y/n]");
    189                             string js = Console.ReadLine();
    190                             if (js == "y")
    191                             { break; }
    192                           
    193                         }
    194                         else
    195                         { Console.WriteLine("查无此项!!!重新输入!!"); }
    196                         coon.Close();
    197                     }
    198 
    199                     #endregion
    200 
    201                     #region       coil不为空时
    202                     else if (cname == "" && coil != "" && cpowers == "")
    203                     {
    204                         com.CommandText = "select * from car where oil like @coil";
    205 
    206                         com.Parameters.Clear();
    207                         com.Parameters.Add("@coil", "%" + coil + "%");
    208 
    209                         coon.Open();
    210                         SqlDataReader c1 = com.ExecuteReader();
    211                         if (c1.HasRows)
    212                         {
    213                             while (c1.Read())
    214                             {
    215                                 Console.WriteLine("编号:" + c1["Code"] + " 品牌:" + c1["name"] + " 油耗:" + c1["oil"] + " 马力:" + c1["powers"] + " 排量:" + c1["exhaust"] + " 价格:" + c1["price"]);
    216                             }
    217                             Console.Write("是否结束?[y/n]");
    218                             string js = Console.ReadLine();
    219                             if (js == "y")
    220                             { break; }
    221                         }
    222                         else
    223                         { Console.WriteLine("查无此项!!!重新输入!!"); }
    224                         coon.Close();
    225                     }
    226 
    227                     #endregion
    228 
    229                     #region       cpowers不为空时
    230                     else if (cname == "" && coil == "" && cpowers != "")
    231                     {
    232                         com.CommandText = "select * from car where  powers like @cpowers ";
    233 
    234                         com.Parameters.Clear();
    235                         com.Parameters.Add("@cpowers", "%" + cpowers + "%");
    236 
    237                         coon.Open();
    238                         SqlDataReader c1 = com.ExecuteReader();
    239                         if (c1.HasRows)
    240                         {
    241                             while (c1.Read())
    242                             {
    243                                 Console.WriteLine("编号:" + c1["Code"] + " 品牌:" + c1["name"] + " 油耗:" + c1["oil"] + " 马力:" + c1["powers"] + " 排量:" + c1["exhaust"] + " 价格:" + c1["price"]);
    244                             }
    245                             Console.Write("是否结束?[y/n]");
    246                             string js = Console.ReadLine();
    247                             if (js == "y")
    248                             { break; }
    249                         }
    250                         else
    251                         { Console.WriteLine("查无此项!!!重新输入!!"); }
    252                         coon.Close();
    253                     }
    254 
    255                     #endregion
    256 
    257                   
    258                    
    259                 } 
    260             Console.ReadLine();
    261         }
    262     }     
    263 }

  • 相关阅读:
    如何提高AJAX客户端响应速度
    JS 数组间的操作
    Spring上传报错413
    设计模式-简单工厂模式学习笔记
    vue辅助函数mapStates与mapGetters
    Vue编程式跳转
    Vue父子,子父,非父子组件之间传值
    node.js中的fs.rename()方法
    map字典,储存cookie,切换账户,展示购物车不同商品
    Gulp
  • 原文地址:https://www.cnblogs.com/tonyhere/p/5620414.html
Copyright © 2020-2023  润新知