Ответ 1
Рик Стралл перевел свой собственный метод кодирования из-за проблем и несогласованностей с .NET способом кодирования вещей. Посмотрите его сообщение на Html и Uri String Encoding без System.Web.
ОБНОВЛЕНИЕ:. После проверки ссылок, предоставленных другими ответами, библиотека AntiXSS, предоставленная Microsoft, кажется идеальным решением этой проблемы. Они сделали источник AntiXSS 4.3 доступным для Codeplex: http://antixss.codeplex.com/
Библиотека AntiXSS содержит полезные методы для кодирования HTML, URL-адресов, JavaScript и XML. Это основано на безопасной модели белых списков, поэтому все, что запрещено в спецификациях, запрещено.
Обратите внимание, что в соответствии с примечаниями к выпуску для 4.3, июнь 2014 года, это последний выпуск, который будет содержать дезинфицирующее средство, из-за отрицательной обратной связи, полученной от сообщества пользователей, за чрезмерную агрессивность. Так что если это дезинфицирующее средство, которое вы хотите, вы должны посмотреть AntiSamy или создать свой собственный пакет гибкости HTML.