此代码是否在存储过程中 sql-可注入

Is this code in a stored procedure sql-injectible

如果我在存储过程中有一个 where 子句连接来自前端(用户提供)的搜索字符串...像这样:

FirstName like '%'+@SearchString+'%'

这会被注入恶意代码吗?

没有,

只要您按照所示使用它,任何人都可以做的最糟糕的事情就是在 like 语法中输入重要字符,例如 %[0-9].

如果您将它连接成一个字符串然后执行但它只是被视为下面的数据,这将是一个 SQL 注入风险

Select *
FROM SomeTable
WHERE FirstName like '%'+@SearchString+'%'