У меня есть веб-сайт, который имеет много форм, которые сохраняются в БД и показываются пользователям, и для него требуется разрешение html.
В настоящее время никакие входные данные не очищаются от атак XSS.Поскольку существует большое количество форм, которые могут внедрить некоторый скрипт или плохой код, поиск и санация всех входных данных займет некоторое время.
Я использую Entity Framework, поэтому первая идея, которую я получил, - это вызвать метод перед db.SaveChanges.(), который будет проверять текстовые поля измененных объектов, а затем очищать их.
Есть ли в этом методе основные потоки?
public static void SanitizeDbContext(DbEntities db)
{
var changes = from e in db.ChangeTracker.Entries()
where e.State != EntityState.Unchanged
select e;
foreach (var change in changes)
{
//Sanatize if field is string
}
}