Как сохранить «опасные» данные в БД и избежать SQL инъекции?
Есть задача - сохранить в базу (MS SQL) полученные данные от клиента в том виде, в котором они пришли. Но возник вопрос, как избежать SQL инъекции и при этом не изменять данные? Как один из вариантов обдумываю сначала конвертировать полученные данные в base64, а потом сохранять. Может есть варианты получше? Данные поступают через запрос к api, XSS атаки пока не рассматриваются, так как отображаться данные нигде будут. Язык - C#
SQL инъекции возможны только в том случае, когда клиентские данные становятся частью вашего SQL запроса к базе данных.
Если у вас запрос всегда одинаков, а данные вы передаете через параметры, то SQL инъекции исключены. insert into tablename (field1) values (@field1);
Вечно Голодный: Разработчики Entity Framework это уже сделали за вас. Конечно приятно, что вы считаете пользователей toster более компетентными в этом вопросе, чем программистов из Microsoft. ))