Пользование библиотекой MS Anti XSS для очистки HTML

В намерении предотвращения нападений на XSS я обновляю страницу, на которой у нас есть текстовое поле, которое принимает HTML, хранит его в базе данных и получает и представляет его в более позднее время.

Мое понимание - то, что я могу санировать использование HTML AntiXSS.GetSafeHtmlFragment() метод. Пока я делаю это прежде, чем сохранить HTML в базе данных, я застрахован? Я должен сделать что-нибудь, когда HTML производится на веб-странице?

Кроме того, кажется, что белый список является своего рода черным квадратом. Существует ли способ обновить это на основе наших требований?

6
задан Nick 8 January 2010 в 23:33
поделиться

3 ответа

[

] Вы должны быть настроены. Хотя очевидно, что это ни от чего не защитит вас уже в базе данных.[

] [

]Вы можете использовать []AntiXSS.GetSafeHtmlFragment()[] при выводе страницы, а не при сохранении. Но делать это при сохранении, вероятно, безопаснее. Вы не захотите делать это и при рендеринге, и при сохранении.[

] [

]Белый список не редактируется.[

].
4
ответ дан 9 December 2019 в 22:35
поделиться

Вы почти у цели. Убедитесь, что вы выбрали правильную кодировку . Например, если пользовательский ввод перешел в URL-адрес, вам нужно будет использовать AntiXSS.UrlEncode (), а если он перешел в JavaScript, вы захотите использовать AntiXSS.JavaScriptEncode (). Если вы не можете гарантировать при сохранении ввода, каким будет формат вывода, лучше провести дезинфекцию во время вывода.

1
ответ дан 9 December 2019 в 22:35
поделиться

Что касается вашего вопроса о «черном ящике»: да, это черный ящик, и, насколько я понимаю, вы не можете его редактировать. Если вам нужна большая детализация, ознакомьтесь с проектом AntiSamy.NET .

3
ответ дан 9 December 2019 в 22:35
поделиться
Другие вопросы по тегам:

Похожие вопросы: