Подвергается ли LINQ to SQL InsertOnSubmit () атака SQL-инъекций? - PullRequest
0 голосов
/ 13 октября 2008

У меня есть такой код:

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

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

После прочтения этого поста Я считаю, что применяется та же логика.

Кто-нибудь думает, что это объект SQL Injection Attack?

Ответы [ 3 ]

5 голосов
/ 13 октября 2008

Второй ответ в сообщении, на которое вы ссылаетесь, гласит:

LINQ to SQL использует execute_sql с параметры.

Он не объединяет значения свойств в одну большую вставку ... VALUES ('...', '...')

3 голосов
/ 13 октября 2008

Базовая операция DataContext осуществляется через SqlCommand, который использует параматизированный SQL.

Итак, ваш оператор вставки будет выглядеть так:

INSERT INTO [MSG] [Var1] = @p1, [Var2] = @p2
1 голос
/ 13 октября 2008

Нет, но вы все равно должны проверять пользовательские данные.

...