c# - SQL 程序集和 SQL 注入(inject)

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

我有几个 SQL CLR 项目作为程序集添加到我的 SQL Server 2005 中。它们是通过触发程序集的存储过程从我的 Web 应用程序访问的。

在我的 SQL 程序集中防止 SQL 注入(inject)的最佳做法是什么?

程序集有一堆代码可以构建疯狂的 SQL 语句(示例):

        sqlBuff.Append("SELECT ");
        //  Always put replicate weight values on the first.
        sqlBuff.Append(colBuff.ToString());

        sqlBuff.AppendLine(" FROM ");
        String tableNames = colTabNameHelper.GetTableNameList(colNames);
        String joinStr = colTabNameHelper.CreateJoinStr(tableNames);

        sqlBuff.Append(joinStr);
        sqlBuff.AppendLine(" WHERE (");

        sqlBuff.Append(inMatrix.WeightVar);

我也可以在这里防止注入(inject)吗?或者 .NET/SQL Server 有帮助吗?我应该为此担心吗?

最佳答案

避免注入(inject)攻击的 final方法是使用 Parameters .你能在嵌入式程序集中使用这些吗?

关于c# - SQL 程序集和 SQL 注入(inject),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13637407/

相关文章:

c# - 看似第 22 条军规关于 : developing ARM solutions on a non-ARM device

c# - 如何使用 .NET RabbitMQ 客户端为消费者使用预取计数

c# - 在 C# 中添加和更新 DataTable 列

sql-server-2005 - SQL Server 2008 自动生成更改脚本遗留问题

c# - 在一个 CMS/多个网站系统中管理数据库的最佳方法是什么

c# - .net 核心身份,获得有意义的登录失败原因

c# - 在初始化惰性实例时将参数传递给构造函数

c# - 保护我的 .NET 应用程序中的字符串?

c# - 有没有办法使用 Dapper 将每一行检索为 IDictionary<string, string> ?

sql-server - 非聚集索引上的Where子句与聚集索引上的额外连接和where子句