У меня есть страница, которая будет генерировать AuthKey для моего веб-приложения. Я использую базу данных базы данных доступа (просто чтобы попробовать ее локально, позже я перейду на SQL Server). В моем кодексе я использую C# в качестве моего языка ввода.C# Как я могу предотвратить SQL Injection с помощью ASP.NET?
Это мой код:
using System.Data.OleDb;
OleDBCommand cmd = new OleDBCommand();
cmd.CommandText = "insert into AuthKeys (AuthKey, User_Assign,locatedAt) values(@AuthKey, @idstr, 'Dashboard')";
cmd.Parameters.Add("@AuthKey", OleDbTypes.<sometype>).Value = AuthKey;
cmd.Parameters.Add("@idstr", OleDbTypes.<sometype>).Value = idstr;
idstr == имя_пользователя AuthKey == код, сгенерированный ключ (GUID) Но, как я заметил, это приложение очень уязвима для SQL инъекций. Поэтому мой вопрос: как я могу предотвратить SQL Injection?
EDIT: Мой вопрос связан этот форум пост: https://social.msdn.microsoft.com/Forums/sqlserver/en-US/94608549-6fee-4c01-82ae-601ed7c20327/getting-errors-with-insert-into?forum=sqlnetfx#e933c92b-8d0a-4b40-906f-2d335b30b6d4
Нет, это не ** уязвимо, поскольку вы уже использовали [подготовленные заявления] (https://en.wikipedia.org/wiki/Prepared_statement). –
Я не вижу никакого кода, который выполняет действие на основе URL-адреса, так как он не подходит SQL-инъекции –
Без объяснения причин, почему вы считаете, что «это приложение очень уязвимо для SQL-инъекций», это не очень разумный вопрос. –