У меня есть редактор, который позволяет пользователям добавлять HTML, который хранится в базе данных и отображается на веб-странице. Поскольку это ненадежный ввод, я планирую использовать Microsoft.Security.Application.AntiXsSS.GetSafeHtmlFragment
для дезинфекции HTML.Санизировать HTML перед хранением в БД или перед рендерингом? (Библиотека AntiXSS в ASP.NET)
- Должен ли я santiize перед сохранением в базу данных или перед тем, как сделать ненадежный вход на веб-страницу?
- Есть ли преимущество в использовании исходного кода AntiXSS в моем проекте, а не только в DLL? (Может быть, я могу настроить белый список?)
- Какой файл класса я должен смотреть в для фактической реализации GetSafeHtmlFragment
Я вернулся и проголосовал за вас потому что я согласен с вашими аргументами, и ваше предложение соответствует рекомендации OWASP. Будем надеяться, что @ user102533 переключится и примет ваши. – David
Он не хранит закодированные данные, он хранит дезинфицированные данные - большая разница (это еще некодированный HTML) – orip
Точка 2 по-прежнему стоит (и да, я не уделял достаточного внимания при чтении!) Что делать, если в дезинфицирующем устройстве есть ошибка? Или вы хотите изменить правила санитарии? – blowdart