Как избежать предупреждений безопасности на https для настраиваемой веб-почты с использованием iframe? - PullRequest
0 голосов
/ 29 мая 2018

У меня есть основной клиент веб-почты, который я пишу.Сервер построен на базовом http-сервере node.js.Страницы обслуживаются через https с использованием действующего сертификата Let's Encrypt.Тело сообщения загружается в изолированную рамку iframe через атрибут .srcdoc.

Я думал, что загрузка сообщения в изолированную рамку iframe снизит количество предупреждений безопасности, касающихся смешанного содержимого и содержимого между доменами.К сожалению, когда содержимое загружается в iframe, зеленая блокировка по-прежнему исчезает и заменяется предупреждением безопасности.

Подробности: серверная часть использует модуль node.js imap-simple для получения содержимого почты с сервера imap.и возвращает данные электронной почты в виде объекта json, которые затем анализируются в массив объектов-конвертов, содержащих записи из / в / cc / bcc / date / subject / text / html.Текстовые электронные письма не являются проблемой, но HTML-сообщения должны отображаться в формате html (если, конечно, пользователь не выберет no-html).

Как можно безопасно отображать содержимое html-сообщения и избегать предупреждений безопасности из-за включенногосодержимое сообщения, которое не с моего сайта?

Кроме того, оно отлично работает с вставленными в фреймы песочницами.Куки-файлы из содержимого сообщений на других сайтах, похоже, хорошо разделены по своим доменам, как и куки-файлы с моего сайта.Похоже, что он хорошо отделяет сторонние данные от данных моих собственных сайтов, сценарии отключены и т. Д. От запуска в песочницах.Если включен для тестирования, скрипт, запускаемый из песочницы, действительно не имеет доступа к объектам вне песочницы.

Я думаю, что предупреждения появляются, потому что страница внутри песочницы генерируется из содержащей страницу моего сайта,хотя ссылки на контент за пределами URL.Очевидно, что на изолированную страницу нельзя ссылаться с внешнего сайта, так как это электронное письмо.

Как мне обойти это, чтобы избежать предупреждений безопасности?Как это делают другие клиенты веб-почты?Реальная проблема в том, что он выглядит так, как будто мой сайт небезопасен для людей, которые не читают фактическое предупреждение или не понимают, что оно означает (т.е. большинство обычных пользователей).

У меня сложилось впечатлението, что содержит сообщение в изолированной программной среде, предотвратит появление предупреждения на содержащей странице.

Некоторый псевдокод, иллюстрирующий базовую структуру страницы:

<html>
  <iframe id=mainpage>
    #docuement
      <iframe sandbox id=envelope0>
        #document
          <div>  ...email body with off-site content here  </div>
      </iframe>
  </iframe>
  <script>  //foo to get/generate html from the message(s)  </script>
</html>

1 Ответ

0 голосов
/ 29 мая 2018

Это не ошибкасодержание сообщения, которое не с моего сайта?

Вы можете доставить его со своего сайта, а не с какого-либо другого сайта.Это исправит предупреждение SSL, но не сделает ничего «безопасного».Если содержимое было опасным, оно все равно будет опасным.

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