2016-10-24 7 views
-1

Bevor ich Zeit damit verbringe, das Rad neu zu erfinden. Meine Webanwendung empfängt eingehende E-Mails von Benutzern. Meist werden diese als HTML-codiert empfangen. Ich muss in der Lage sein, diese den Benutzern in einem etwas freundlichen Format anzuzeigen.HTML-E-Mail-Parser für sicheres HTML?

Gibt es etwas, das die meisten Grunties daran arbeiten lässt? Ich suchte nach einem Paket, das ich gerade in meiner rohen HTML-E-Mail übergebe, und es wird es für Anzeige ausziehen und formatieren.

von etwas Kurz schon draußen, speziell, könnte ich etwas verwenden, den Tag Streifen aus: https://github.com/punkave/sanitize-html

Ich würde eher unterstützt leider keine Frames, und es nur in einem div Platzhalter auf das DOM hinzufügen. Meine Bedenken sind:

  • Streifen alle JS in der Nachricht
  • alle Tags entfernen, die eine externe Referenz
  • Alle entfernen CSS

Die erlaubten Tags wäre recht einfach enthalten könnte: p, b, ich, stark, br; zB Zeug, so dass es wie eine Nachricht aussieht, nicht ein Haufen schwer lesbarer Text.

Was haben Sie in der Vergangenheit dafür getan?

+0

Sie sollten wahrscheinlich erwähnen, welche Programmiersprache Sie serverseitig verwenden. – moritz

+0

@moritz mit vb .net – DDulla

Antwort

0

Hoffentlich wird dies jemand retten sonst einige Zeit, die ein ähnliches Problem hat:

Auf der Benutzerseite, innerhalb des div, wo Sie die E-Mail-Nachricht angezeigt werden soll:

<iframe src="/view/message/{message_id}" sandbox></iframe> 

Die iframe Route zeigt nur den HTML-Code an, dann habe ich eine Github-Bibliothek verwendet: https://github.com/mganss/HtmlSanitizer, um alle CSS-Tags und die meisten HTML-Tags zu entfernen. Ich habe grundlegende Formatierungs-Tags P verlassen; BR; B. Ich habe auch alle Javascript entfernt.

Verwandte Themen