C# 从删除同步跟踪表代码中删除SQL注入漏洞
我正在应用程序中使用Microsoft Sync Framework进行数据同步。C# 从删除同步跟踪表代码中删除SQL注入漏洞,c#,sql,sync,microsoft-sync-framework,C#,Sql,Sync,Microsoft Sync Framework,我正在应用程序中使用Microsoft Sync Framework进行数据同步。 对于删除跟踪表,我使用以下代码。 当我使用此代码在dll上运行CAT.NET时,它显示了SQL注入漏洞。 有人能建议如何消除这个SQL注入问题吗。 有关上述代码的详细信息,您可以单击由于您依赖于外部DLL,因此无法对其执行任何操作 您可以将其转换为SP,并尽量避免使用内联语句 希望对您有所帮助。为什么您要手动删除这些对象,而不是简单地从同步框架中运行取消配置 即使使用上面的代码,也不会删除用户定义的表类型。
对于删除跟踪表,我使用以下代码。 当我使用此代码在dll上运行CAT.NET时,它显示了SQL注入漏洞。
有人能建议如何消除这个SQL注入问题吗。
有关上述代码的详细信息,您可以单击由于您依赖于外部DLL,因此无法对其执行任何操作 您可以将其转换为SP,并尽量避免使用内联语句
希望对您有所帮助。为什么您要手动删除这些对象,而不是简单地从同步框架中运行取消配置 即使使用上面的代码,也不会删除用户定义的表类型。blink What external DLL?
SqlCommand comm;
StringBuilder sb = new StringBuilder();
//Drop tracking table & triggers
sb.AppendFormat(@"
IF EXISTS (SELECT * FROM sys.objects WHERE object_id = OBJECT_ID(N'[dbo].[{0}_tracking]') AND type in (N'U'))
DROP TABLE [dbo].[{0}_tracking]
IF EXISTS (SELECT * FROM sys.triggers WHERE object_id = OBJECT_ID(N'[dbo].[{0}_insert_trigger]'))
DROP TRIGGER [dbo].[{0}_insert_trigger]
IF EXISTS (SELECT * FROM sys.triggers WHERE object_id = OBJECT_ID(N'[dbo].[{0}_delete_trigger]'))
DROP TRIGGER [dbo].[{0}_delete_trigger]
IF EXISTS (SELECT * FROM sys.triggers WHERE object_id = OBJECT_ID(N'[dbo].[{0}_update_trigger]'))
DROP TRIGGER [dbo].[{0}_update_trigger]", tableName);
foreach (string procName in new string[] { "delete", "deletemetadata", "insert", "insertmetadata", "update", "updatemetadata", "selectrow", "selectchanges" })
{
sb.AppendFormat(@"IF EXISTS (SELECT * FROM sys.objects WHERE object_id = OBJECT_ID(N'[dbo].[{0}_{1}]') AND type in (N'P', N'PC'))
DROP PROCEDURE [dbo].[{0}_{1}]", tableName, procName);
}
using (comm = new SqlCommand(sb.ToString(), conn))
{
conn.Open();
comm.ExecuteNonQuery();
conn.Close();
}