Tengo una página https (https://example.com/main.php) que tiene un iframe con un origen no https (http://example.com/inner.php). Ambos archivos están en el mismo servidor: solo se accede a uno con https y el otro no. Necesito la página no https para poder ejecutar javascript en el https página main.php
utilizando código como parent.myfunction()
Permitir que HTTP iFrame llame a JavaScript en el marco principal de HTTPS
Sin embargo, cuando intento esto, me sale el siguiente error:
Unsafe JavaScript attempt to access frame with URL https://example.com/main.php from frame with url http://example.com/inner.php . Domains, protocols and ports must match.
he puesto document.domain = 'example.com'
en ambos archivos y pensé que lo arreglaría, sin embargo, no es así. ¿Hay alguna forma de permitir que el marco ejecute javascripts en el marco principal y viceversa? Si es así, ¿cuáles son las implicaciones de seguridad de esto?
PD: Para aquellos de ustedes que sugerirán simplemente usar https o http para ambas páginas, estoy investigando eso. Sin embargo, debido a los procesos que se producen en la página iframe, esta podría no ser una opción viable debido a problemas de carga del servidor.
Su ejemplo no funciona: no es posible usar el dominio "my.paypal.com" porque el _whole_ dominio (con todos los subdominios existentes y no existentes) pertenece a paypal. Entonces, en mi opinión, este no es el motivo de esta restricción de seguridad. La razón es la misma, como si desea cargar cualquier contenido a través de http en un sitio https. – rudi
@Rudolf No creo que hayas entendido completamente lo que dije. El atacante devuelve una página con dos * marcos * dentro de ella. Un cuadro contiene la buena fe https://paypal.com. El otro contiene javascript malicioso. El javascript malicioso "fue entregado desde paypal.com", pero realmente, intercepté la solicitud y devolví el contenido que quería (posible porque no es una conexión segura).Por lo tanto, los dos marcos "pasan el mismo control de origen", pero el resultado es un desastre. – Borealid