Отображение HTML из электронного письма на веб-сайте - PullRequest
2 голосов
/ 06 марта 2012

Я пытаюсь отобразить html письмо на html странице.Технически я могу это сделать, но безопасность - это проблема, возможно, злоумышленник может создать вредоносный код и поместить его в HTML-письмо.

Я пытался использовать библиотеку Microsoft XSS для дезинфекции html, но она так сильно удаляет ее, что в принципе это не стоит.

Мне интересно, есть ли лучшее решение с фреймами iframe или чем-то еще?,Например, есть ли способ защитить данные в iframe?

Похоже, что GMail отображает html-письма, у них должно быть хорошее html-дезинфицирующее средство.

1 Ответ

0 голосов
/ 29 ноября 2014

Ваши основные параметры:

  1. очистить HTML (используйте подход белого списка, для безопасности)
  2. использовать iframe с src в другом домене или с html5sandbox атрибут

И то, и другое можно сделать эффективно, и в деталях есть множество вариаций.

Что касается санации, то это того не стоило: хорошие библиотеки, такие как https://github.com/guardian/html-janitor/ (javascript) и https://github.com/jsocol/bleach (python) имеют возможность настроить белый список.Это зависит от того, пытаетесь ли вы представить типичные сгенерированные пользователем электронные письма в формате HTML с базовым форматированием или пытаетесь отображать полностью «разработанные» информационные бюллетени с множеством изображений, таблиц и т. Д. Если только первое, то в некоторых быстрых экспериментахс помощью отбеливателя я смог заставить большинство электронных писем выглядеть хорошо, просто добавив br и div в список разрешенных тегов, чтобы пробелы не были стерты.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...