Как избежать внедрения SQL при сохранении user-agent с использованием ASP.net - PullRequest
0 голосов
/ 24 сентября 2011

Я сохраняю пользовательский агент браузера моих пользователей для статистики.

Как вы уже знаете, пользовательский агент может быть изменен. Я хотел бы знать, должен ли я что-нибудь сделать для защиты от SQL-инъекций.

Я использую хранимые процедуры для вставки.

Большое спасибо.

Ответы [ 2 ]

1 голос
/ 24 сентября 2011

Использовать параметры с хранимыми процедурами или Использовать параметры с динамическим SQL .

Вот пример из MSDN:

  SqlDataAdapter dataAdapter = new SqlDataAdapter(
       "SELECT CustomerID INTO #Temp1 FROM Customers " +
       "WHERE CustomerID > @custIDParm; SELECT CompanyName FROM Customers " +
       "WHERE Country = @countryParm and CustomerID IN " +
       "(SELECT CustomerID FROM #Temp1);",
       connection);
  SqlParameter custIDParm = dataAdapter.SelectCommand.Parameters.Add(
                                          "@custIDParm", SqlDbType.NChar, 5);
  custIDParm.Value = customerID.Text;

  SqlParameter countryParm = dataAdapter.SelectCommand.Parameters.Add(
                                      "@countryParm", SqlDbType.NVarChar, 15);
  countryParm.Value = country.Text;

  connection.Open();
  DataSet dataSet = new DataSet();
  dataAdapter.Fill(dataSet);
0 голосов
/ 24 сентября 2011

Используйте готовое утверждение.Убедитесь, что вы используете подготовленный оператор для всех операций SQL, даже если данные поступают из базы данных.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...