.NET,Java和其他各种语言的高级数据库API通常提供称为预处理语句和参数绑定的技术,而不是将纯文本命令发送到数据库服务器.我想知道的是当你执行这样的语句时会发生什么:
SqlCommand cmd = new SqlCommand("GetMemberByID");
cmd.CommandType = CommandType.StoredProcedure;
SqlParameter param = new SqlParameter("@ID", memberID);
para.DbType = DbType.Integer;
cmd.Parameters.Add(param);
Run Code Online (Sandbox Code Playgroud)
我知道这是一种最佳做法.SQL注入攻击以这种方式最小化.但是当你执行这些语句时,究竟发生了什么呢?最终结果仍然是SQL安全字符串吗?如果没有,最终结果是什么?这足以防止SQL注入攻击吗?
| 归档时间: |
|
| 查看次数: |
3011 次 |
| 最近记录: |