Небезопасный контент в iframe на защищенной странице

Я нахожусь в процессе разработки приложения для клиента, который будет иметь сертификат SSL и будет обслуживаться под https. Однако, чтобы интегрироваться со своим существующим сайтом, они хотят обеспечить их навигацию внутри iframe.

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

То, что я хотел бы знать, заключается в следующем: приведет ли это к тому, что проблемы будут содержать небезопасный контент, включенный внутри iframe, размещенный на защищенной странице, и если да, то каковы будут проблемы?

В идеале, если это не очень хорошая идея (и у меня такое сильное чувство, что это не так), я должен уметь объяснить это клиенту.

Ответ 1

Если ваша страница будет доступна с помощью https://www.example.com/main/index.jsp (SSL), ваш браузер будет жаловаться на "Эта страница содержит как защищенные, так и небезопасные элементы", если в HTML-коде есть какие-либо ресурсы, на которые ссылаются http:// -SSL). Это включает в себя iframe.

Если ваша страница навигации размещена на том же сервере, вы можете предотвратить сообщение "небезопасного контента", используя относительный URL-адрес, подобный этому...

<iframe src="/app/navigation.jsp" />

Из вашего вопроса кажется, что ваша страница навигации обслуживается с отдельного хоста, и вы вынуждены использовать что-то вроде этого

<iframe src="http://otherserver.example.com/app/navigation.jsp" />

который, разумеется, вызовет сообщение "небезопасного контента" в вашем браузере.

Ваши единственные решения - либо

  • реализовать SSL на сервере с вашей навигационной страницей, чтобы вы могли использовать https:// для вашей ссылки iframe или

  • переместите навигационное приложение на тот же сервер, чтобы вы могли использовать относительный URL-адрес.

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

Ответ 2

Если ваша страница http, то она позволяет iframe с содержимым https.

Но если ваша страница https, то она не разрешает содержание http.

Давайте отложим следующие возможности.

page - iframe - status

http - http  - allowed
http - https - allowed
https- http  - not allowed
https- https - allowed

Ответ 3

Попробуйте удалить http: символы в атрибуте src так:

<iframe src="//example.com/thefile.htm"></iframe>

Это, конечно, обходное решение, безопасность важна, поэтому не обходите беспечно, но в любом случае это когда-то помогло мне пройти аналогичную проблему.