更新:另请参阅this preexisting question, and its answers,,此问题实际上是重复的。
我正在使用第三方API,它接受SQL语句的WHERE条件片段
e.g。 ThirdPartyFunction(where:"Category = 'abc'", top:5)
我有通过UI或Web服务传递的字符串,需要防止SQL注入攻击。
如果不使用参数化查询,并且在.NET框架中没有替代方法来转义SQL字符串(我知道),我希望手动转义SQL字符串。
我有关于编写转义方法的最佳方法的想法,但我正在寻找最安全的解决方案。
答案 0 :(得分:1)
参数化查询肯定是最安全的,但你可以使用两个单引号替换任何单引号。因此,如果用户试图在'abc'部分内输入恶意查询,它会将其作为字符串处理。
您使用的是哪个第三方图书馆?您是否检查过以确保它们不能提供参数化调用方法的能力?