Question

Comment puis-je sécuriser l'affichage du code HTML d'un email dans un navigateur Web avec python?

Aucune référence externe ne doit être suivie lorsqu'elle est affichée. En d'autres termes, tout le contenu affiché doit provenir du courrier électronique et non d'Internet.

Les e-mails autres que les spams doivent être affichés aussi fidèlement que possible, comme le souhaite l'auteur.

Je voudrais éviter de coder cela moi-même.

Les solutions nécessitant la dernière version du navigateur (firefox) sont également acceptables.

Était-ce utile?

La solution

html5lib contient un assainisseur HTML + CSS. Il en autorise trop actuellement, mais il ne devrait pas être trop difficile de le modifier pour l'adapter au cas d'utilisation.

trouvé à partir de ici .

Autres conseils

Je ne comprends pas très bien ce que vous entendez par & "safe &"; C'est un sujet assez vaste ... mais, pour ce que cela vaut:

À mon avis, le l’analyseur d’analyse de ActiveState Cookbook est l’un des plus faciles. solutions. Vous pouvez très bien copier / coller la classe et commencer à l’utiliser.

Consultez également les commentaires. Le dernier indique que cela ne fonctionne plus, mais cela fonctionne également dans une application et fonctionne correctement. Au travail, je n’ai pas accès à cette boîte, je vais donc devoir la regarder pendant le week-end.

Utilisez le module HTMLparser ou installez BeautifulSoup et utilisez-les pour analyser le code HTML et désactiver ou supprimer les balises. Cela laissera le texte de lien qui était là, mais il ne sera pas mis en surbrillance et il ne sera pas cliquable, puisque vous l'affichez avec un composant de navigateur Web.

Vous pouvez expliquer plus clairement ce qui a été fait en remplaçant le <A></A> par un <SPAN></SPAN> et en modifiant la décoration du texte pour indiquer l'emplacement du lien. Peut-être une nuance de bleu différente de la normale et un trait de soulignement en pointillé pour indiquer une rupture. De cette façon, vous êtes un peu plus près de l'afficher comme prévu sans induire en erreur les gens en leur faisant cliquer sur quelque chose qui ne peut pas être cliqué. Vous pouvez même ajouter un survol dans Javascript ou CSS pur qui affiche une info-bulle expliquant que les liens ont été désactivés pour des raisons de sécurité.

On pourrait faire la même chose avec les balises <IMG></IMG>, notamment en les remplaçant par un rectangle vierge pour s'assurer que la mise en page est proche de l'original.

J'ai déjà fait des choses comme celle-ci avec Beautiful Soup , mais HTMLparser est inclus dans Python. Dans les anciennes distributions Python, il y avait un htmllib qui est maintenant déconseillé. Dans la mesure où le code HTML d’un message électronique n’est peut-être pas tout à fait correct, utilisez Beautiful Soup 3.0.7a, qui permet de mieux comprendre le code HTML défectueux.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top