2010-06-29 32 views
42

Estoy creando un pequeño widget y quiero permitir que otros utilicen la misma. El iframe se carga a través de HTTP, pero quiero permitir que los usuarios inicien sesión a través de HTTPS. es decir, envíe una solicitud de inicio de sesión a través de SSL.HTTP y HTTPS iframe

sólo es permitido dentro de la política del mismo origen? Es decir, ¿el escenario es que un usuario puede integrar mi JavaScript en su sitio web, se abre el widget y quiero permitir que inicien sesión a través de HTTPS?

+0

me respondió con algunas maneras únicas de hacer esto aquí: http://stackoverflow.com/questions/18327314/how-to-allow-http-content-within-an-iframe-on-a-https-site/25189561 # 25189561 –

Respuesta

50

por lo general es una mala práctica para incrustar un iframe con el contenido a través de HTTPS dentro de una página servida sobre HTTP plano (o mezclar el contenido). La razón de esto es que no hay una buena manera para que el usuario compruebe que está utilizando el sitio HTTPS que pretende (a menos que el usuario realmente quiera verificar el origen de la página).

Un atacante podría muy bien sustituir el contenido que usted sirve como esto:

<iframe src="https://your.legitimate.example/loginframe" /> 

con:

<iframe src="https://rogue.site.example/badloginframe" /> 

o incluso:

<iframe src="http://rogue.site.example/badloginframe" /> 

Esto es muy difícil de detectar para el usuario, y derrota la medida de seguridad que está tratando de implementar habilitando el inicio de sesión a través de HTTPS.

5

@Bruno - Estoy de acuerdo, pero me gustaría señalar que incluso consultar la fuente (por más exigente que sea) de la página podría no ser suficiente para garantizar la seguridad o el destino adecuado/previsto, ya que a menudo es originalmente sirvió el texto de origen. A menos que esté seriamente equivocado, que se pueden cambiar fácilmente con in-page o incluso fuera de la página de código Javascript (que a su vez puede ser ofuscado, si alguien realmente quiere que sea casi imposible de encontrar). Dicho esto, SI un usuario tiene un navegador apropiado, creo que podrían poder - si son sospechosas, para empezar - para comprobar la fuente del marco flotante para determinar el origen de ese código, luego determine si confían en la fuente ... realmente no es una expectativa razonable.

A pesar de todo esto se pudo determinar con depuradores apropiados y/o inspectores de software/DOM y una buena ración de grasa del codo digital, el PO no puede esperar razonablemente que cada uno haga esto (si cualquiera en absoluto)

+3

99.9 por ciento de los usuarios de Internet no saben ni se molestan en consultar la fuente de la página. Veo cómo puedes convencer a mi padre para que inspeccione el código fuente, y mucho menos usar un depurador. – Krumia

3

He hecho algunas pruebas. Si está enlazando desde una página https a otro dominio con https, necesitan un certificado SSL válido.