2010-03-04 3 views
1

У меня есть приложение WinForms (Framework для разработки некоторых простых приложений), написанное на C#. Мои рамки позже будут использованы для разработки приложений форм выигрыша. Другие разработчики часто являются новичками и иногда не используют Parameters - они пишут прямой SQL в коде. Поэтому сначала мне нужно как-то сделать защиту в базовых классах framework в C#. У меня есть некоторый класс basse, который выполняет все действия SQL, поэтому я думаю, что могу поставить здесь некоторую проверку перед выполнением запросов ... Как я могу получить защиту в C# против прямого SQL ..? Некоторый пример был бы очень полезен.Как защитить приложение WinForms от прямого SQL

ответ

4

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

Вместо того, чтобы сворачивать свои собственные рамки, рассмотрите возможность использования ORM, такого как NHibernate, который позаботится об этой проблеме для вас (и вам больше не нужно писать SQL-запросы самостоятельно).

Смежные вопросы