Очистить строку XML с помощью AntiXss libraray

Я попытался очистить нижеприведенную строку XML с помощью библиотеки AntiXss:

<?xml version="1.0"?>
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN"
  "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">

<svg xmlns="http://www.w3.org/2000/svg"
 width="467" height="462" onload="alert(document.domain)">
  <rect x="80" y="60" width="250" height="250" rx="20"
      style="fill:#00ff21; stroke:#000000;stroke-width:2px;" />

  <rect x="140" y="120" width="250" height="250" rx="40"
      style="fill:#00f2ff; stroke:#000000; stroke-width:2px;
      fill-opacity:0.7;" />
</svg>

Код:

byte[] document = new byte[file.ContentLength];
var xml = Encoding.UTF8.GetString(document);
 var results = Sanitizer.GetSafeHtml(xml);

При отладке вышесказанного я вижу, что пустая строка возвращается как часть результатов.

Я также попробовал несколько других пакетов самородков:BracketPipe со следующим фрагментом кода:

using (var reader = new HtmlReader(xml))
{
    var result = (string)reader.Sanitize().Minify().ToHtml();    
}

Но вышесказанное также возвращает тот же результат.

Пакет самородков: HtmlSanitizer:

var sanitizer = new HtmlSanitizer();
var sanitized = sanitizer.Sanitize(xml);

Может кто-нибудь помочь мне узнать, как решить эту проблему?

0 ответов

Другие вопросы по тегам