ich habe zu Auswertungszwecken eine Frameset aufgebaut.
frameset.htm (ist klar)
top.htm (oberes Frame mit Javascript-Inhalten)
main.htm (unteres Frame mit externer Webseite)
Von top.htm kann (bzw. möchte ich) per Mausklick Daten aus den Formulardaten des unteren Frames auslesen. Alles kein Problem, sofern im unteren Frame kein externer Inhalt (andere Domain) liegt.
Die Suche hat mich auf Same-Origin-Policy gebracht - aber leider keine Lösung.
Gibt es eine Möglichkeit die Daten vom zweiten Frame trotzdem irgendwie per JS (oder VBS) auszulesen?
bspw.
parent.frames[1].name;
(funktioniert wenn main="./main.htm", aber nicht wenn main="http://www.irgendwas.de")
In meinem Fall geht es um Formulardaten (main=„http…extern“,
wie ist denn die fremde Seite eingebunden? Damit ein hidden-field schon eine value hat, sollte das Formular doch erst abgeschickt worden sein, oder? Kannst Du mal ein konkretes Beispiel schicken? Es gibt aber Methoden, um an die gewünschte Info zu kommen.
dass das, was Du tun willst, nicht funktioniert, macht Sinn. Allerdings kann man z.B. in php (geht sicher auch in VBS oder Java) mit file_get_contents urls in Strings einlesen und könnte damit zumindest hidden input-Fields auslesen, wenn sie von der Seite vorbelegt werden.
Hallo Andreas,
die Antwort hast du schon gefunden, und wenn’s eine „Lösung“ gäbe, würde das die Phishing-Verbrecher sicher brennend interessieren:
dann bräuchten die nämlich nicht mehr aufwendig die Sites von Banken und Shops nachbauen - es würde ausreichen, User auf eine falsche URL zu locken, dort liegt eine Seite, die im einzig sichtbaren Frame die Original-Site aufruft, und im versteckten Frame munter alle Eingaben des Users abgreift.
Antwort: no way.
Das einzige, was geht, ist die src des Frames zu verändern - weil der ja noch dir „gehört“. Mit etwas jQuery Unterstützung konnte ich auch die Ladezeit eines Frames mit externem Inhalt messen, sprich: das onload-Event nutzen. Siehe http://www.h3berlin.de/siteping/
Besten Dank für die Informationen. Das mit dem Phising macht natürlich aus Datenschutzgründen sinn.
Das heißt für mich, dass ich für meine Zwecke an Boardmitteln nicht weiterkomme.
Per PHP, etc. könnte ich zwar den Quellcode auslesen, allerdings bräuchte ich dazu die URL und die kann ich weiß ich zur Laufzeit u.U. nicht. Auf die Frame-URL habe ich ja wiederum keine Zugriff.
das sollte eigentlich aus verständlichen Gründen nicht möglich sein. Denn sonst könnte man ja z.B. eine Bankseite in ein Frameset packen und wenn sich ein Nutzer dort drüber anmeldet, könnte man ja die Logindaten usw. mitlesen.
Es gibt aber neuerdings die Möglichkeit Ajax Anfragen an fremde Domains abzusetzen:
nein … hierfür gibt es mit JS keine Möglichkeit.
Alternative:
die externen Seiten mittels eines PHP- oder Perlscriptes zu holen und in den Frame zu laden.
es gibt, meines Wissens nach, keine Lösung für dieses Problem. Damit möchte man verhindern,
dass Daten ausspioniert werden können, die auf einer fremden Seite eingegeben werden.
Beispielsweiße könnte man mit dem Frameset Login-Informationen „mitschreiben“.
Jedoch gibt es für Probleme die wegen der Same-Origin-Policy auftreten meist bessere/andere Lösungswege.
Hallo Andreas,
mir ist das noch nicht aufgefallen,
aber wenn ich so nachdenke, dann ich sehr beruhigt,
dass fremde Daten nicht ausgelesen werden können.
Ich weiss keine Lösung dazu.
LG Joachim
in JS dürfte es wegen XSS keine Lösung geben, VBS kann
ich nicht sagen - aber in php kann man Webseiten
auslesen (und natürlich anschließend parsen), solange
url_fopen nicht gesperrt ist; könnte mir gut vorstellen
dass das in VBS auch geht.
Viel Erfolg!
Liebe/-r Experte/-in,
ich habe zu Auswertungszwecken eine Frameset
aufgebaut.
frameset.htm (ist klar)
top.htm (oberes Frame mit Javascript-Inhalten)
main.htm (unteres Frame mit externer Webseite)
Von top.htm kann (bzw. möchte ich) per Mausklick Daten
aus den
Formulardaten des unteren Frames auslesen. Alles kein
Problem,
sofern im unteren Frame kein externer Inhalt (andere
Domain)
liegt.
Die Suche hat mich auf Same-Origin-Policy gebracht -
aber
leider keine Lösung.
Gibt es eine Möglichkeit die Daten vom zweiten Frame
trotzdem
irgendwie per JS (oder VBS) auszulesen?
bspw.
parent.frames[1].name;
(funktioniert wenn main="./main.htm", aber nicht wenn
main="http://www.irgendwas.de")
Ja, das auslesen und parsen ist insgesamt kein Problem.
Ich habe das Thema geschlossen, da es aus Sicherheitsgründen hier wohl keine Lösung gibt.
Zum Auslesen des HTML-Codes bräuchte ich die aktuelle URL des Frames in dem die Seite angezeigt wird. Das ist aber nicht möglich. Daher entfallen alle weiteren Möglichkeiten irgendwas weiterverarbeiten zu wollen.