Фильтрация неверных данных HTML в Razor - PullRequest
0 голосов
/ 01 февраля 2012

В своем приложении Razor MVC я добавил функцию, в которой свойство модели разрешает HTML, выполнив:

[AllowHtml]
public string Body { get; set; }

Это прекрасно работает. Но мне было интересно, я хочу убедиться, что пользователь не отправляет вредоносные данные, поэтому кто-нибудь создал утилиту или библиотеку для фильтрации плохих данных HTML, таких как операторы JavaScript и т. Д.? Я планирую декодировать HTML-код и отображать его в пользовательском интерфейсе, поэтому, естественно, я хотел бы быть несколько ограничительным. Я понимаю, что я должен делать это вручную из кода, просто любопытно, для некоторых указателей или утилит.

Спасибо.

1 Ответ

1 голос
/ 01 февраля 2012

Абсолютно!В библиотеке anti-xss от Microsoft есть дезинфицирующее средство: оно простое в использовании, и я расскажу об этом (и многом другом) в видео-серии «Взломать приложения ASP.Net», которая выйдет в эфир на этой неделе на сайте pluralsight.com.Theres больше, чем просто html-кодирование, если вы используете html, поэтому следует проявлять осторожность при возникновении проблем с html, используемых для межсайтового скриптинга, а также при неправильном использовании функций javascript, которые также могут привести к xss.Посмотрите серию видео (эта тема намного длиннее, чем пост, который нужно освещать)


Microsoft.Security.Application.Sanitizer.GetSafeHtmlFragment(yourHtml);

Получить код в библиотеке веб-защиты.Обратите внимание, что в asp.net 4.5 это должно быть включено в System.Web.Security

http://wpl.codeplex.com/

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...