带参数的sql注入

pha*_*unk -1 sql sql-injection

以下是否暴露了Sql Injection攻击向量?如果它确实如何防止它?

@bookId = '1234;' + 'Drop table Books;'
Select * from Books where bookId = @bookId 
Run Code Online (Sandbox Code Playgroud)

不会这样执行吗?:

Select * from Books where bookId = 1234; Drop table Books;
Run Code Online (Sandbox Code Playgroud)

Adr*_*iro 5

不,它不会.这不是参数化的工作原理.参数化不是字符串连接.

此代码将尝试查找其ID为的书1234;Drop table Books;.哪个会在类型转换中失败,如果bookId是integer.

你很安全.