Knihovna pro bezpečné zobrazení emailu na webu

Knihovna pro bezpečné zobrazení emailu na webu
« kdy: 28. 11. 2024, 17:24:22 »
Dělám si ticketovací systém, ve kterém bych se chtěl někdy odkazovat na konrétní emaily.
Ticketovací systém poběží přímo na mailovým serveru, tedy má k dispozici jednotlivé emaily ve formě souborů. Kdy každý email je ve zvlášť souboru, včetně všech hlaviček a příloh. Na PC mívají tyto soubory přípony eml. A potřebuji mít možnost takové maily zobrazit na webu.
V případě html verze emailu, to není rozhodně snadné, protože se html musí před zobrazení kontrolovat na možné zneužití.
A názor na to co je bezpečné se v čase mění.

Existují nějaké knihovny,které umožní bezpečně zobrazit obsah těchto emailů na webu?

Používám ruby, ale kdyby to bylo něco jednoduchého a samostatného třeba v php, nebránil bych se.  Hlavičky jako předmět nebo náhled obsahu si umím vytáhnout a zobrazit v textové formě, což je bezpečné, jde mi i možnost podívat se na kompletní email v html včetně všech a příloh a hlaviček podobně jak to umožňují všechny webmaily. Ty bych alem musel nějak kuchat, což se mi nezdá jednoduché.


McFly

  • *****
  • 598
    • Zobrazit profil
    • E-mail
Re:Knihovna pro bezpečné zobrazení emailu na webu
« Odpověď #1 kdy: 28. 11. 2024, 17:37:46 »
Třeba lze použít https://github.com/php-mime-mail-parser/php-mime-mail-parser (sám si stavím aplikaci na čtení a zobrazování .eml souborů v PHP, ale jsem líný, dlouho jsem na to nesáhnul, čert ví, zda to někdy dokončím - programování mne holt neživí:-)

Re:Knihovna pro bezpečné zobrazení emailu na webu
« Odpověď #2 kdy: 28. 11. 2024, 17:59:28 »
Třeba lze použít https://github.com/php-mime-mail-parser/php-mime-mail-parser (sám si stavím aplikaci na čtení a zobrazování .eml souborů v PHP, ale jsem líný, dlouho jsem na to nesáhnul, čert ví, zda to někdy dokončím - programování mne holt neživí:-)
Vypadá to, že to má funkci getMessageBody('htmlEmbedded'), která vytáhne HTML variantu emailu (to je jednoduché udělat i jinak). A nahradí obrázky z přílohy tak, aby byly součástí html. (to už není snadné udělat jinak).
Pak by už mohlo stačit odstranit javascript a jiné bezpečnostní problémy a zobrazit ve framu. Odstranění nebezpečných věcí se říká sanitizing. Ale aby uměla jedna knihovna všechny tyto kroky, to jsem se nesetkal. Jako by byly maily něco, co není potřeba nikdy nikde na webu zobrazovat.