Это может быть очень глупый вопрос, но я считаю, почему нет ...Потенциал для SQL-инъекций здесь?
Я использую RIA Services с Entity Framework в качестве задней части. У меня есть некоторые места в моем приложении, где я принимаю ввод пользователя и напрямую обращаюсь к службам RIA Services (и, в свою очередь, EF и, в свою очередь, к моей базе данных), используя их данные. Предотвращает ли какой-либо из этих уровней проблемы безопасности или я должен сам очистить свои данные?
Например, всякий раз, когда новый пользователь регистрируется с приложением, я называю этот метод:
[Query]
public IEnumerable<EmailVerificationResult> VerifyUserWithEmailToken(string token)
{
using (UserService userService = new UserService())
{
// token came straight from the user, am I in trouble here passing it directly into
// my DomainService, should I verify the data here (or in UserService)?
User user = userService.GetUserByEmailVerificationToken(token);
...
}
}
(и должен ли я быть качению моя собственная система проверки пользователя является еще одной проблемой в целом, мы находимся в процессе принимая во внимание рамки членства MS. Меня больше интересуют услуги sql и службы RIA в целом)
вы должны ВСЕГДА запросов к базе данных скраб-х, независимо от того, где они произошли. Есть очень интересные способы выполнения SQL-инъекций, когда программист этого не ожидал. И очистка ввода не является ресурсоемкой. – TheLQ
уверен, что если библиотека/фреймворк уже очищает их? в противном случае вы можете получить неверные данные (например, данные с двойным экранированием). – oedo