2012-03-21 3 views
1

У меня есть базовая форма окон C#, которая позволяет пользователю обновлять определенное поле в нашей базе данных MySQL с компьютера Windows. Каков наилучший способ проверить значения входных строк в форме C#, чтобы изменить строку, чтобы включить обратную косую черту для запятой и т. Д., А также предотвратить любую форму SQL-инъекции?Использование формы окна C# с MySQL, что является лучшим способом для дезинфекции пользовательских данных.

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

+0

** ИСПОЛЬЗОВАНИЕ PLACEHOLDERS ** Угу. *Это так просто*. И очень легко с ADO.NET. (Конечно, это не охватывает все формы «санитарии», но у каждого из них есть свои хорошо зарекомендовавшие себя методы (ы).) –

+0

Можете ли вы указать, является ли это Web/Winform/WPF? –

+0

http://stackoverflow.com/questions/681583/sql-injection-on-insert, http://stackoverflow.com/questions/5468425/how-do-parameterized-queries-help-against-sql-injection –

ответ

1

Вообще самый быстрый подход, который я видел, чтобы использовать ISAPI фильтр, подобные этим:

http://www.iis.net/extensions/UrlScan
http://iis6sqlinjection.codeplex.com/

Вы также должны быть с помощью команд параметров с хранимыми процедурами.

Хотя ваш это вы лабиринте хорошо защитить от XSS атак тоже здесь фантастическая статья делает: http://corneliutusnea.wordpress.com/2009/12/11/xss-attack-your-database-to-detect-missing-output-encoding/