poner - Contenido inseguro en iframe en página segura
poner iframe en https (3)
Estoy en el proceso de desarrollar una aplicación para un cliente, que tendrá un certificado SSL y se servirá bajo https. Sin embargo, para integrarse con su sitio existente, quieren proporcionar su navegación dentro de un iframe.
Veo que esto causa problemas, ya que esperaba que el navegador se quejara de la combinación de contenido seguro e inseguro en la página. He echado un vistazo a las preguntas similares aquí y todas parecen referirse a esto al revés (contenido seguro en el iframe).
Lo que me gustaría saber, entonces, es: ¿causará problemas tener contenido inseguro incluido dentro de un iframe, colocado en una página segura, y de ser así, qué tipo de problemas serían?
Idealmente, si no es una buena idea (y tengo una fuerte sensación de que no lo es), debo ser capaz de explicar esto al cliente.
Intente eliminar los http: caracteres en el valor del atributo src de la siguiente manera:
<iframe src="//example.com/thefile.htm"></iframe>
Esto es, por supuesto, una solución alternativa, la seguridad es importante, así que no se salte alegremente, pero de todos modos, esta vez me hizo superar un problema similar.
Si su página es http, entonces permite iframe con contenido https.
Pero si su página es https, entonces no permite contenido http.
Vamos a dejar abajo las siguientes posibilidades.
page - iframe - status
http - http - allowed
http - https - allowed
https- http - not allowed
https- https - allowed
Si se accede a su página usando https://www.example.com/main/index.jsp
(SSL), su navegador se quejará con "Esta página contiene elementos seguros e inseguros" si hay algún recurso en el código HTML. que están referenciados con http://
(no SSL). Esto incluye iframes.
Si su página de navegación está alojada en el mismo servidor, puede evitar el mensaje de "contenido inseguro" utilizando una URL relativa como esta ...
<iframe src="/app/navigation.jsp" />
A partir de su pregunta, parece que su página de navegación está siendo servida desde un host separado y se verá obligado a utilizar algo como esto
<iframe src="http://otherserver.example.com/app/navigation.jsp" />
que, por supuesto, provocará el mensaje de "contenido inseguro" en su navegador.
Tus únicas soluciones son para cualquiera
implementar SSL en el servidor que contiene su página de navegación para que pueda usar
https://
para su referencia de iframe, omueva la aplicación de navegación al mismo servidor para que pueda usar una URL relativa.
Personalmente, no puedo entender por qué su navegación estaría en un host diferente porque luego obtendrá problemas de scripts entre dominios de JavaScript (a menos que se trate de algún funky JSONP).