LINQ to SQL InsertOnSubmit()是否受SQL注入攻击?

时间:2008-10-12 21:56:06

标签: c# .net linq-to-sql sql-injection

我有这样的代码:

var newMsg = new Msg
{
    Var1 = var1,
    Var2 = var2
};

using (AppDataContext appDataContext = new AppDataContext(ConnectionString))
{
    appDataContext.CClass.InsertOnSubmit(newMsg);
    appDataContext.SubmitChanges();
}

阅读this post后,我相信同样的逻辑适用。

有人认为这会受到SQL注入攻击吗?

3 个答案:

答案 0 :(得分:5)

你引用的帖子中的第二个答案是:

  

LINQ to SQL使用 execute_sql   参数。

它没有将属性值连接成一个大的INSERT ... VALUES('...','...')

答案 1 :(得分:3)

DataContext的底层操作是通过使用paramatised SQL的SqlCommand。

所以你的insert语句将如下所示:

INSERT INTO [MSG] [Var1] = @p1, [Var2] = @p2

答案 2 :(得分:1)

不,但无论如何你应该验证用户数据。