c# - 为 SQL WHERE 子句构建安全搜索条件

标签 c# .net sql sql-server sql-injection

我需要构建与 WHERE 子句一起使用的搜索条件。然后将此搜索条件传递给不同的应用程序以作为 SQL 查询的一部分执行。因为那里的搜索条件可能非常复杂(包括子查询),我不相信接收应用程序可以智能地解析它们以防止 SQL 注入(inject)攻击。

最佳实践表明应该使用参数化查询。当您使用命令对象自己执行查询时,效果很好。在我的例子中,我希望获得合并了参数的查询字符串,并解析出我感兴趣的 where 搜索子句。有没有办法做到这一点?

我使用 MS SQL Server,目前只是将我从调用方收到的字符串中的所有单引号替换为两个单引号。有没有更好的方法来实现某种程度的 SQL 注入(inject)攻击保护?

最佳答案

关于c# - 为 SQL WHERE 子句构建安全搜索条件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1855661/

相关文章:

c# - 如何使用 Linq 从 Json 或类对象中查找子元素

.net - Rx .NET : Filter observable until task is done

c# - 如何删除动态创建的按钮

c# - 如何获取 .NET 控件的 HTML 代码

sql - 为什么还要在 Golang 中使用 *DB.exec() 或准备好的语句?

c# - 索引 0 为负数或高于行数

c# - TryGetValue 给出不正确的结果

c# - 访问 PC 音频输入流

c# - 我可以跟踪 ConfigurationManager 设置的使用吗

sql - SQL Server 2005 中的连接字符串