存储过程和带参的SQL语句为什么能防SQL注入

 我来答
骑梼杌的小哪吒
推荐于2016-05-05 · TA获得超过625个赞
知道小有建树答主
回答量:385
采纳率:100%
帮助的人:154万
展开全部
存储过程和带参数的SQL语句将传进的值当成一个字符串处理,就屏蔽掉了诸如or 1 = 1的SQL诸如问题,执行过程将传入的参数当成整体完整的处理,而不是直接添加到SQL语句末尾,是恒等的条件不成立了
如传入参数@sql = ‘..... or 1 = 1’

内部处理过程是
select
from
where 字段 = sql

而不是直接使用语句的
select
from
where 字段 = ....or 1 = 1

就避免了SQL注入。
vinson_shen
2010-06-04 · TA获得超过2503个赞
知道小有建树答主
回答量:960
采纳率:100%
帮助的人:0
展开全部
恩,因为可以在存储过程里对参数进行判断检查是否合法,这样就能跳开那些"特殊值"而使查询条件为"真"的情形.
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式