Markdown sicher darstellen

Markdown sicher darstellen

- Matt

Markdown in HTML umwandeln geht mit Markdig in einer Zeile. Die zweite ist wichtiger:

var pipeline = new MarkdownPipelineBuilder()
    .UseAdvancedExtensions()
    .DisableHtml()
    .Build();

var html = Markdown.ToHtml(eingabe, pipeline);

DisableHtml() sorgt dafür, dass roher HTML-Code im Markdown als Text behandelt wird statt als Auszeichnung. Ohne diese Zeile kann jeder, der Markdown eingeben darf, ein <script> unterbringen.

Wer HTML zulassen muss, kommt um eine Bereinigung mit einer Bibliothek wie HtmlSanitizer nicht herum. Selbst gebaute Filter mit regulären Ausdrücken sind an dieser Stelle zuverlässig unzureichend.