Frage

Wie kann ich HTML-Code aus E-Mail sicher machen mit Python Web-Browser angezeigt werden?

Jede externe Referenzen sollten nicht befolgt werden, wenn angezeigt. Mit anderen Worten, sollten alle angezeigten Inhalte kommen aus der E-Mail und nichts aus dem Internet.

Anders als Spam-E-Mails sollte so nah wie möglich angezeigt werden, wie vom Autor vorgesehen.

Das möchte ich mich vermeiden Codierung.

Lösungen neueste Browser (Firefox) Version erfordern, sind ebenfalls akzeptabel.

War es hilfreich?

Lösung

html5lib enthält eine HTML + CSS Sanitizer. Es erlaubt zu viel Zeit, aber es sollte nicht allzu schwer sein, ihn zu ändern den Anwendungsfall anzupassen.

Gefunden es von hier .

Andere Tipps

Ich bin mir nicht ganz klar, was genau meinen Sie mit „sicher“. Es ist ein ziemlich großes Thema ... aber für was es wert ist:

Meiner Meinung nach ist das Parser von der Activestate-Kochbuch Strippen ist eine der einfachsten Lösungen. Sie können ziemlich viel Kopie / die Klasse einfügen und starten Sie es.

Haben Sie einen Blick auf die auch Kommentare. Der letzte besagt, dass es nicht mehr funktioniert, aber ich diesen Lauf auch irgendwo in einer Anwendung haben und es funktioniert gut. Von der Arbeit, habe ich keinen Zugriff auf dieses Feld, also werde ich es sehen müssen, über das Wochenende.

Mit dem HTMLparser Modul oder BeautifulSoup installieren und verwenden diejenigen, die HTML zu analysieren und deaktivieren oder die Tags zu entfernen. So bleibt was auch immer Link-Text dort war, aber es wird nicht hervorgehoben werden, und es wird nicht angeklickt werden, da Sie es mit einer Web-Browser-Komponente angezeigt wird.

Man könnte es deutlicher machen, was durch Ersetzen des <A></A> mit einem <SPAN></SPAN> und den Text ändern Dekoration zu zeigen, getan wurde, wo der Link verwendet werden sollte. Vielleicht eine andere Blauton als normal und ein gestrichelte Strich, um anzuzeigen, Gebrochen. Auf diese Weise sind Sie ein wenig näher an ihn anzuzeigen, wie beabsichtigt, ohne tatsächlich Menschen in Klicken auf etwas irreführend, die nicht anklickbar ist. Man könnte sogar ein schwebt in Javascript oder reine CSS , die ein Tooltip erscheint erklärt, dass Links aus Sicherheitsgründen deaktiviert wurde.

Ähnliches könnte mit <IMG></IMG>-Tags durchgeführt werden, einschließlich sie mit einem leeren Rechteck ersetzt, um sicherzustellen, dass das Seitenlayout zum Original nahe kommt.

Ich habe diese Sachen getan mit Schöne Suppe , aber HTMLparser ist enthalten mit Python. Bei älteren Python distribs gab es eine htmllib die jetzt veraltet. Da der HTML-Code in einer E-Mail-Nachricht nicht ganz korrekt sein könnte, schöne Suppe 3.0.7a verwenden, das zu machen, Sinn gebrochen HTML besser ist.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top