码迷,mamicode.com
首页 > Web开发 > 详细

ADO.NET之注入式攻击

时间:2018-10-04 15:20:47      阅读:165      评论:0      收藏:0      [点我收藏+]

标签:用法   use   path   this   添加   sql   border   获得   设置   

关于Sql注入,经典的注入语句是‘ or 1=1--     以下说说如何最大限度的避免注入问题。

一.SQL参数用法1

1.思维导图

技术分享图片

技术分享图片

 

属性  
ParameterName 取得或設定 SqlParameter 的名稱。
Value 取得或設定參數的值。
SqlDbType 取得或設定參數的 SqlDbType
Size 取得或設定資料行中資料的最大大小 (以位元組為單位)。

 

 

 

 

 

 

2.示例代码

1 SqlParameter sqlParameter = new SqlParameter();             //声明并实例化SQL参数;
2 sqlParameter.ParameterName = "@No";                         //设置SQL参数的名称;
3 sqlParameter.Value = this.txb_UserNo.Text.Trim();           //设置SQL参数的长度;
4 sqlParameter.SqlDbType = SqlDbType.Char;                    //设置SQL参数对应的SQL Server数据类型;
5 sqlParameter.Size = 10;                                     //设置SQL参数的长度;
6 sqlCommand.Parameters.Add(sqlParameter);     

 

显然,Add方法在添加多个SqlParameter时不方便

二.SQL参数用法2

1.示例代码

1 sqlCommand.Parameters.AddWithValue("@Password", this.txb_Password.Text.Trim());       //直接调用方法AddWithValue向SQL命令的参数集合添加参数的名称、值;
2 sqlCommand.Parameters["@Password"].SqlDbType = SqlDbType.VarChar;                     //通过参数名称访问SQL参数,并将密码参数的类型设为变长字符串;
3        //SQL参数能自动识别类型;若参数值为字符串,则类型自动设为NVARCHAR,且可在执行时自动转换;但对于相同密码,VARCHAR/NVARCHAR类型所获得的散列值不同,故需手动将SQL参数类型统一设为VARCHAR;

 

ADO.NET之注入式攻击

标签:用法   use   path   this   添加   sql   border   获得   设置   

原文地址:https://www.cnblogs.com/lidie-/p/9742272.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!