Преобразование строки в FormattableString в Entity FrameworkC#

Место общения программистов C#
Ответить
Anonymous
 Преобразование строки в FormattableString в Entity Framework

Сообщение Anonymous »

Я пытаюсь создать веб-сайт, уязвимый для SQL-инъекций (в образовательных целях), с помощью API ASP.NET. Для этого я хотел бы вызвать FromSql с заранее подготовленным SQL-запросом:

Код: Выделить всё

String query = "SELECT * FROM users WHERE email = '"+email
+"' AND password = '"+password+"'";
return RepositoryContext.Users.FromSql(query).FirstOrDefault();
Но этот код не скомпилируется, поскольку FromSql ожидает FormattableString, а не String. Я получаю следующее сообщение об ошибке:

Ошибка CS1503 Аргумент 2: невозможно преобразовать из «строки» в «System.FormattableString»

Следующее будет скомпилировано, но тогда этот код больше не будет уязвим для SQL-инъекций, поскольку Entity Framework выполнит подготовленный запрос SQL и преобразует адрес электронной почты и пароль в параметры запроса SQL:

Код: Выделить всё

return RepositoryContext.Users.FromSql(
$"SELECT * FROM users WHERE email = {email}
AND password = {password}").FirstOrDefault();
Есть ли способ преобразовать строку в FormattableString?
Спасибо за помощь.>

Подробнее здесь: https://stackoverflow.com/questions/753 ... -framework
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «C#»