Я использую xsl-трансформ для преобразования XML-файла в HTML в dotNet. Я преобразую значения узлов в xml в содержимое и атрибуты тегов html.
Я сочиняю xml с помощью манипуляции .Net DOM, устанавливая свойство InnerText для узлов с произвольным и, возможно, вредоносным текстом.
Прямо сейчас злонамеренно созданные строки ввода сделают мой HTML небезопасным. Небезопасно в том смысле, что некоторый javascript может исходить от пользователя и находить путь к атрибуту ссылки href в выходном html, например.
Вопрос прост: что такое очистка, если таковая имеется, что я должен делать с моим текстом перед назначением его свойству InnerText? Я думал, что присвоение InnerText вместо InnerXml сделает всю необходимую очистку текста, но, похоже, это не так.
Должно ли мое преобразование обладать какими-то особыми характеристиками для безопасной работы? Какие-нибудь специфические предостережения .net, о которых я должен знать?
Спасибо!