ValidateInput (false), но как сохранить мой HTML-ввод чистым? - PullRequest
3 голосов
/ 08 февраля 2011

Итак, в разделе приложения ASP.NET MVC2 я должен разрешить ввод HTML из типичного расширенного текстового поля.Итак, я добавил атрибут в методе контроллера, чтобы отключить проверку ввода грубой силы MVC.

Но теперь, что мне делать, чтобы предотвратить атаки XSS.До сих пор я смотрел и нашел:

  • AntiXSS: выглядит хорошо, но белый список кажется не редактируемым.Кроме того, по некоторым причинам у меня возникают проблемы с его работой.После добавления ссылки на dll компилятор по-прежнему видит отсутствующую сборку.
  • Антисамия: разрешает настройку белого списка, но последнее обновление .NET было в 2009 году. Это не внушает доверияПО для обеспечения безопасности.

Что еще?Существуют ли другие библиотеки для очистки HTML-содержащего ввода, чтобы можно было легко настроить допустимые теги?

1 Ответ

0 голосов
/ 04 марта 2011

Вы можете рассмотреть возможность использования анализатора HTML, прогуливаясь по дереву синтаксического анализа, устраняя вредные теги / атрибуты. Вы бы имели полный контроль над тем, что было разрешено. Согласно этот вопрос HTMLAgilityPack является лучшим для C #.

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