我需要构建与 WHERE 子句一起使用的搜索条件。然后将此搜索条件传递给不同的应用程序以作为 SQL 查询的一部分执行。因为那里的搜索条件可能非常复杂(包括子查询),我不相信接收应用程序可以智能地解析它们以防止 SQL 注入(inject)攻击。
最佳实践表明应该使用参数化查询。当您使用命令对象自己执行查询时,效果很好。在我的例子中,我希望获得合并了参数的查询字符串,并解析出我感兴趣的 where 搜索子句。有没有办法做到这一点?
我使用 MS SQL Server,目前只是将我从调用方收到的字符串中的所有单引号替换为两个单引号。有没有更好的方法来实现某种程度的 SQL 注入(inject)攻击保护?
最佳答案
关于c# - 为 SQL WHERE 子句构建安全搜索条件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1855661/