Небезопасный контент в 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>
Это, конечно, обходное решение, безопасность важна, поэтому не обходите беспечно, но в любом случае это когда-то помогло мне пройти аналогичную проблему.