Ich habe eine HTTPS-Seite (https://example.com/main.php) mit einem Iframe mit einer Nicht-HTTPS-Quelle (http://example.com/inner.php). Beide Dateien befinden sich auf demselben Server - nur einer wird mit https und der andere nicht aufgerufen. Ich brauche das nicht-https-Seite der Lage sein, Javascript main.php
Seite auf dem https wie parent.myfunction()
mit CodeHTTP-iFrame zum Aufrufen von JavaScript im HTTPS-Eltern-Frame zulassen
jedoch auszuführen, wenn ich das versuche ich die folgende Fehlermeldung erhalten:
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.
I gesetzt haben document.domain = 'example.com'
auf beiden Dateien und ich dachte, das würde es beheben, aber es tut es nicht. Gibt es eine Möglichkeit, den Rahmen Javascripts auf dem übergeordneten Frame ausführen zu lassen und umgekehrt? Wenn ja, welche Auswirkungen hat dies auf die Sicherheit?
PS: Für diejenigen von Ihnen, die vorschlagen, nur https oder http für beide Seiten verwenden, bin ich dabei. Aufgrund der Prozesse, die auf der Iframe-Seite auftreten, ist dies jedoch aufgrund von Problemen mit der Serverauslastung möglicherweise keine praktikable Option.
Ihr Beispiel funktioniert nicht: Es ist nicht möglich, die Domäne "my.paypal.com" zu verwenden, da die Domäne _whole_ (mit allen vorhandenen und nicht vorhandenen Subdomains) zu paypal gehört. Meiner Meinung nach ist das nicht der Grund für diese Sicherheitsbeschränkung. Der Grund ist der gleiche, als ob Sie Inhalte über http auf einer https-Site laden möchten. – rudi
@Rudolf Ich glaube nicht, dass du völlig verstanden hast, was ich gesagt habe. Der Angreifer gibt eine Seite mit zwei * Frames * zurück. Ein Frame enthält das Bona-Fide https://paypal.com. Der andere enthält bösartiges JavaScript. Das bösartige Javascript "wurde von paypal.com geliefert" - aber ich habe die Anfrage abgefangen und den von mir gewünschten Inhalt zurückgegeben (möglich, weil es keine sichere Verbindung ist).Die beiden Frames "bestehen also denselben Check", aber das Ergebnis ist ein Desaster. – Borealid