回答

收藏

Like子句和sql注入

技术问答 技术问答 265 人阅读 | 0 人回复 | 2023-09-14

我对这种情况有疑问。
+ Y+ ~2 I. `% C$ p& R我在存储过程中有这样的查询:
: ?2 A! }! A/ R3 }! ^: pSELECT column1,column2FROM table1WHERE column1 like    @column 我的问题是,这很容易受到影响SQL注射攻击?我需要把它改成以下内容吗?
. k* p: q- M' W4 [1 \declare @column1Like nvarchar(200);@column1Like =    @column1   '%'SELECT column1,column2FROM table1WHERE column1 like @column1Like                - Z" v! I1 Z! K; X
    解决方案:                                                               
0 C0 H( W/ F" L% A( D                                                                快速答案是否定的。为了方便SQL必须使用动态注入SQL执行。3 `3 I" {; p$ p4 m( a! A
    很容易攻击:& O* X5 L! N: e
EXECUTE ('SELECT column1,column2 FROM table1 WHERE column1 like '   @column1Like);这意味着这两个例子之间没有真正的区别(至少从安全的角度来看)。
分享到:
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则