Небезопасное содержимое в iframe на защищенной странице



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



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



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



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

690   3  

3 ответов:

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

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

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

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

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

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

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

  1. реализовать SSL на сервере, удерживающем вашу навигационную страницу, чтобы вы могли использовать https:// для вашего iframe ссылки, или

  2. переместите навигационное приложение на тот же сервер, чтобы вы могли использовать относительный url.

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

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

но если ваша страница https, то она не позволяет http-контент.

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

page - iframe - status

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

Попробуйте удалить символы http: в значении атрибута src следующим образом:

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

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

Comments

    Ничего не найдено.