2008-10-12 108 views
0

我有這樣的代碼:是LINQ to SQL InsertOnSubmit()受SQL注入攻擊嗎?

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

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

閱讀this post後,我相信同樣的邏輯也適用。

有沒有人認爲這是SQL注入攻擊?

回答

5

在你引用的帖子第二個答案說它:

的LINQ to SQL使用execute_sql與 參數。

它不會串連屬性值成一個大的INSERT ... VALUES( '... '' ...')

+0

我不知道它...它只是是參數的命令。 execute_sql用於在* TSQL中執行*。 – 2008-10-13 04:12:28

1

沒有,但你應該無論如何驗證用戶的數據。

3

DataContext的基本操作是通過SqlCommand使用了非匹配SQL。

所以你插入語句看起來就像這樣:

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