我有几个SQL CLR项目作为程序集添加到我的SQL Server 2005中。可以通过我们的Web应用程序通过存储过程来访问它们,这些程序会触发程序集。
如何以及在SQL程序集中阻止SQL注入的最佳做法是什么?
程序集有一堆构建疯狂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);
我可以在这里预防注射吗?或.NET / SQL Server有帮助吗?我应该担心吗?