Ich habe eine Seite auf einer Website, die ein sicheres Formular in einem Iframe enthält. Obwohl die übermittelten Formulardaten sicher sind, erscheint die Seite nicht sicher, da die URL im Browser nur HTTP ist. Kann ich den Benutzern zeigen, dass das Formular sicher ist?So erstellen Sie eine Seite mit einem HTTPS-Iframe, der sicher angezeigt wird
Antwort
Öffnen Sie das Formular in einem neuen Fenster oder hosten Sie die Container-Seite auf einem sicheren Server. Benutzer haben das Recht, einer unsicheren Seite, auf der eine vermeintlich sichere Seite gehostet wird, skeptisch gegenüber zu stehen - sie fleht förmlich um XSS-Angriffe.
Nichts, was die üblichen Browser "Dies ist sicher" Indikatoren auslösen wird.
Obwohl die Formulardaten übertragen sicher
Es kann oder nicht verschlüsselt werden kann. Aber es ist nicht sicher, und der Browser ist absolut richtig, Ihnen ein Vorhängeschloss-Symbol zu verweigern.
Wenn die übergeordnete Seite http
ist, dann könnte diese Seite leicht durch einen Man-in-the-middle-Angriff geändert werden, um den normalerweise sicheren auf einen völlig anderen Server als den erwarteten zu verweisen. Oder es wurde möglicherweise in die übergeordnete Seite JavaScript eingefügt, um alle von Ihnen vorgenommenen Tastatureingaben in das Formular zu schreiben und sie an den Server des Angreifers zu senden.
Der Benutzer hätte keine Möglichkeit zu überprüfen, ob dies geschehen war, kurz bevor die Seitenquelle angezeigt wurde und jede Markup- und Skriptlinie darin gelesen und verstanden wurde. Das ist absolut unrealistisch.
Wenn Sie sich nicht auf einer Seite befinden, auf der alle Inhalte durch https
gesichert sind, ist jede Übermittlung von dieser Seite unsicher, unabhängig davon, wo das Formular action
angezeigt wird.
Unabhängig davon, ob die Host-Seite gesichert ist oder nicht, ist es nicht empfehlenswert, gesicherte HTTPS-Seiten innerhalb eines Iframes zu platzieren. Selbst HTTPS-Seiten sind nicht gegen XSS- und MIM-Angriffe immun. Der einzige Weg, um Verwirrung darüber zu vermeiden, mit welcher Domäne/welchem Web-Server Ihr Web-Browser gerade kommuniziert, ist, direkt auf die Quellseite zu gelangen - d. H. Diejenige, die Sie in Ihren iframe einfügen möchten.
Iframes sind eine bequeme Möglichkeit, schnell Inhalte von einer anderen Seite/Site einzubinden, aber sie eröffnen den Unehrlichen eine Menge Möglichkeiten!
Wir müssen dies tatsächlich von einem iframe eines Drittanbieters unterstützen (das ist der einzige Weg, wie sie Integration jetzt anbieten.) Sie haben absolut Recht. Die genannten XSS-Angriffe können unabhängig von der Sicherheit der übergeordneten Seite funktionieren (https oder http). Es braucht nur eine Injektion (ob es sich um einen Weiterleitungslink zu einer Phishing-Seite handelt usw.). Es kümmert sich um die Man-in-the-Middle-Schwachstelle Zumindest (Elternseite mit SSL). Wir sind leider gezwungen, die Illusion von End-to-End-Sicherheit zu geben. Aber auch eine SSL-Seite ohne Iframe ist genauso anfällig. Bottom line: Elternseite mit SSL + keine Injektion vuln. – Bretticus
- 1. So erstellen Sie eine Preloader-Seite
- 2. Espresso - So prüfen Sie, ob eine der Ansichten angezeigt wird
- 3. Weiß eine MasterPage, welche Seite angezeigt wird?
- 4. Eine leere Seite wird anstelle der Fehlerseite in JSP angezeigt
- 5. So erstellen Sie eine Tabbed-Schnittstelle für zwei verschiedene Webanwendungen, die als einzelne Seite angezeigt werden
- 6. So identifizieren Sie "Flash-Nachricht" Fehler auf der Seite angezeigt
- 7. So erstellen Sie einen Ordner im Code hinter der Seite
- 8. So stellen Sie sicher, dass eine lokale iOS-Benachrichtigung zugestellt wird * nach * der App wird beendet
- 9. So erstellen Sie eine UIImage mit einem transparenten Hintergrund
- 10. Android: So erstellen Sie Tabs wie die, die auf der Android-Benutzeroberfläche angezeigt werden Seite
- 11. So aktualisieren Sie eine Seite mit Turbolinks
- 12. So erstellen Sie eine Transparenzgradientenmaske mit einem SVG-Filter
- 13. So übertragen Sie Daten sicher an/von einem öffentlichen Webdienst
- 14. So erstellen Sie eine UITableViewCell mit einem transparenten Hintergrund
- 15. So erstellen Sie eine CPU-Spitze mit einem Bash-Befehl
- 16. So erstellen Sie eine Bildliste mit der Inhaltsliste auf der rechten Seite
- 17. So erstellen Sie eine Login-Seite in iOS
- 18. So starten Sie die Aktivitätsanzeige, wenn eine Warnung angezeigt wird
- 19. So erstellen Sie ein Dropdown-Menü, das auf der Grundlage einer Antwort aus einem anderen Dropdown-Menü angezeigt wird
- 20. So erstellen Sie eine benutzerdefinierte Apache 503 Fehler Seite
- 21. So schließen Sie sicher einen Thread, der eine Endlosschleife enthält
- 22. So erstellen Sie eine Gruppierungsdimension mit mdx
- 23. So erstellen Sie eine Datei mit Makefile
- 24. So erstellen Sie eine unverankerte Schaltfläche in einem WPF
- 25. So erstellen Sie ein Textfeld mit Dezimalwert
- 26. So legen Sie eine iPhone-Seite an
- 27. So erstellen/drucken Sie Berichte auf der Client-Seite
- 28. So erstellen Sie eine vollständige benutzerdefinierte Seite in Prestashop 1.6
- 29. So erstellen Sie eine Hintergrundaufgabe Erneut planen
- 30. Erstellen Sie eine "versteckte" Seite aus einem WordPress-Plugin
Ich antwortete mit ein paar einzigartigen Möglichkeiten, dies hier zu tun: http://stackoverflow.com/questions/18327314/how-to-allow-http-content-within-an-iframe-on-https-site/25189561 # 25189561 –