Предотвращение атак SQL-инъекций: различия между mySql и SQL Server 2008 - PullRequest
1 голос
/ 21 октября 2010

Есть ли основания для перехода с MySql на SQL Server 2008, если основной проблемой является блокирование атак с использованием SQL-инъекций?

Обеспечивает ли Linq2Sql или EF дополнительную защиту?

Ответы [ 3 ]

6 голосов
/ 21 октября 2010

Нет.Стратегии блокирования атак SQL-инъекций схожи (параметризованные запросы, а не динамически созданные, хранимые процедуры, проверка параметров на наличие вредоносных значений и т. Д.).

И да, поскольку вы не пишете код SQL сEF или Linq To Sql, вы могли бы считать, что дополнительный уровень защиты.

1 голос
/ 21 октября 2010

Большая часть работы, которую вы можете сделать для защиты вашей системы от внедрения SQL, находится за пределами базы данных, поэтому нет достаточных оснований для изменения механизма БД.

Возможно, вы захотите взглянуть на библиотеку WPL от Microsoft.

Библиотека веб-защиты Microsoft (WPL) - это набор сборок .NET, которые помогут защитить ваши веб-сайты, текущие, будущие и прошлые. WPL включает в себя

AntiXSS
AntiXSS предоставляет множество функций кодирования для пользовательского ввода, включая HTML, атрибуты HTML, XML, CSS и JavaScript.

  • Белые списки: AntiXSS отличается от стандартной кодировки платформы .NET с помощью подхода белого списка. Все символы, отсутствующие в белом списке, будут закодированы с использованием правильных правил для типа кодирования. Хотя это и связано с затратами на производительность, AntiXSS был разработан с учетом производительности.
  • Безопасная глобализация: Интернет - это глобальный рынок, а межсайтовый скриптинг - это глобальная проблема. Атака может быть закодирована где угодно, и теперь Anti-XSS защищает от атак XSS, написанных на десятках языков.

Security Runtime Engine
Security Runtime Engine (SRE) предоставляет оболочку для ваших существующих веб-сайтов, гарантируя, что распространенные векторы атак не попадут в ваше приложение. Защита предоставляется как стандарт для

  • Межсайтовый скриптинг
  • SQL-инъекция
0 голосов
/ 21 октября 2010

если вы используете хранимые процедуры в SQL Server, сложнее получить ошибку внедрения SQL.

...