以下是否暴露了Sql Injection攻击媒介?如果它确实如何阻止它?
@bookId = '1234;' + 'Drop table Books;'
Select * from Books where bookId = @bookId
不会这样执行吗? :
Select * from Books where bookId = 1234; Drop table Books;
答案 0 :(得分:5)
不,它不会。这不是参数化的工作原理。参数化不是字符串连接。
此代码将尝试查找ID为1234;Drop table Books;
的图书。如果bookId
为integer
,则会在拼版错误中失败。
你很安全。
答案 1 :(得分:1)