查看: 2306|回复: 0

参数化查询为什么能够防止SQL注入

[复制链接]
发表于 2013-11-22 14:10:08 | 显示全部楼层 |阅读模式
很多人都知道SQL注入,也知道SQL参数化查询可以防止SQL注入,可为什么能防止注入却并不是很多人都知道的。
本文主要讲述的是这个问题,也许你在部分文章中看到过这块内容,当然了看看也无妨。
首先:我们要了解SQL收到一个指令后所做的事情:
具体细节可以查看文章:Sql Server 编译、重编译与执行计划重用原理
在这里,我简单的表示为: 收到指令 -> 编译SQL生成执行计划 ->选择执行计划 ->执行执行计划。
具体可能有点不一样,但大致的步骤如上所示。
接着我们来分析为什么拼接SQL 字符串会导致SQL注入的风险呢?
首先创建一张表Users:

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?CSNA会员注册

×
回复

使用道具 举报

您需要登录后才可以回帖 登录 | CSNA会员注册

本版积分规则

快速回复 返回顶部 返回列表