untersuchen eines frames mit fremden inhalt
thrice
- javascript
hallo,
ist es möglich nachdem ich eine seite (von einem fremden server) von meinem server aus in ein frame geladen habe....(also mit einem formular:)
<form METHOD="GET" action="http://www.beispiel.de" target="frame1">
<input type="submit" name="do" value="get seite">
</form>
...ist es dann möglich den quelltext dieses frames in einer variable zu speichern oder zu untersuchen?oder gibt es eine möglichkeit in dem frame nach einem bestimmten textstring zu suchen?
gruß thrice
einem fremden server
meinst du einen entfernten server, wo du erlaubnis hast, dies zu tun oder einen fremden server (eines in der tat fremden anbieters), wo dir das nicht explizit erlaubt ist?
auch wenn content-klau nicht explizit verboten ist, ist er dennoch nicht erlaubt, solange er nicht explizt erlaubt wurde
...ist es dann möglich den quelltext dieses frames in einer variable zu speichern oder zu untersuchen?oder gibt es eine möglichkeit in dem frame nach einem bestimmten textstring zu suchen?
wenn sich der inhalt bereits im frame befindet kannst du mit javascript nicht darauf zugreifen - du müsstest den inhalt serverseitig auslesen und in ein frameset auf der selben domain platzieren, damit du per javascript drauf zugreifen kannst
meinst du einen entfernten server, wo du erlaubnis hast, dies zu tun oder einen fremden server (eines in der tat fremden anbieters), wo dir das nicht explizit erlaubt ist?
na zum beispiel is mein formualar(html dokument) auf nem funpic server und von dort aus sende ich ein formualr mit get was (was ich ja in nen frame lade) mit ner anfrage an meinetwegen http://forum.de.selfhtml.org...
dann lade ich ja diese seite in ein frame...naja und jetzt wollt ich wissen ob ich entweder
1. den (html)quelltext mir anschauen kann und damit weiterarbeiten kann oder
2. ob ich zumindest in diesem frame nach nem bestimmten wort.also text string suchen kann...
aber scheinbar ist dies nicht möglich oder täusch ich mich da?
ps: danke für die schnelle antwort^
aber scheinbar ist dies nicht möglich oder täusch ich mich da?
ja, wie gesagt mit javascript nicht möglich (same origin policy)
wenn du das ganze ordentlich machst (alles auf einem server) brauchst du a) keine frames und b) keine lästigen workarounds dafür
Hallo,
Es ist möglich.
Das Stichwort dazu lautet Screen Scraping.
Du solltest dir aber den ganzen Artikel durchlesen und darüber nachdenken wozu du den Inhalt eigendlich brauchst.
Gruß,
Fay
Es ist möglich.
Das Stichwort dazu lautet Screen Scraping.
da muss ich dir widersprechend - es ist NICHT (auf keinen fall möglich) mit javascript auf einen anderen frame mit anderer herkunft zuzugreifen - ansonsten wäre phishing extrem einfach ;)
Hallo,
da muss ich dir widersprechend - es ist NICHT (auf keinen fall möglich) mit javascript auf einen anderen frame mit anderer herkunft zuzugreifen - ansonsten wäre phishing extrem einfach ;)
Ich muss zugeben, ich hab es bisher noch nie auf einer homepage im Internet probiert,
aber ich habe mir ein script gebastelt, das von der homepage eines webradiosenders die playliste extrahiert. (sitebargadget für vista, funktioniert aber auch wenn man die seite einfach so aufruft)
und das funktioniert wunderbar ;)
Gruß,
Fay
aber ich habe mir ein script gebastelt, das von der homepage eines webradiosenders die playliste extrahiert. (sitebargadget für vista, funktioniert aber auch wenn man die seite einfach so aufruft)
und das funktioniert wunderbar ;)Gruß,
Fay
also ich habe nämlich vor bei einem browsergame,wenn ich eingeloggt bin von diesem informationen abzurufen zB wieviele rohstoffe ich habe und wieviele einheiten usw...damit ich das nich dauernd manuell eintragen muss.sowas wollte ich halt für den ganzen clan machen weil das alles sehr vereinfacht.und dazu brauch ich ja nur den quelltext bei dem ich mir dann die nötigen daten(text) herausziehe und weiterverarbeite...von dem eigenen rechner aus klappt das ja mit der ajax methode(http://developer.mozilla.org/De/AJAX/Getting_Started)aber sobald ich das halt auf einem server aufspiele und von dort aus versuche geht es anscheinend nicht wegen der policy...
wenn dies denn gar nicht mit javascript zu realisieren ist,könnte mir dann vielleicht einer zeigen wie das mit php funktioniert ?oder einer anderen sprach^^
danke euch schonmal für die hilfe bis jetzt ;)
gruß thrice
wenn dies denn gar nicht mit javascript zu realisieren ist,könnte mir dann vielleicht einer zeigen wie das mit php funktioniert ?oder einer anderen sprach^^
etwas schwierig, du müsstest mit php das verhalten deines browsers simulieren (angefangen vom login, das akzeptieren eines login-cookies usw) wenn dann noch zwingend javascript erforderlich ist, kannst du dich beerdigen ;)
curl könnte dich hier aber weiterbringen
Hi,
wenn dies denn gar nicht mit javascript zu realisieren ist,könnte mir dann vielleicht einer zeigen wie das mit php funktioniert ?
mit file_get_contents() kannst Du Dir den Inhalt der übermittelten Resource holen - allerdings dürfte das bei Free-Hostern wie funpic nicht zugelassen sein.
freundliche Grüße
Ingo
aber ich habe mir ein script gebastelt, das von der homepage eines webradiosenders die playliste extrahiert. (sitebargadget für vista, funktioniert aber auch wenn man die seite einfach so aufruft)
und das funktioniert wunderbar ;)
es ist ein unterschied, ob du den quelltext einer seite direkt ausliest oder versuchst von einem frame auf den anderen zuzugreifen
es ist ein unterschied, ob du den quelltext einer seite direkt ausliest oder versuchst von einem frame auf den anderen zuzugreifen
naja direkt würde glaube ich auch gehen!wie kann ich diesen denn direkt auslesen ?
naja direkt würde glaube ich auch gehen!wie kann ich diesen denn direkt auslesen ?
wie schon im anderen ast erwähnt, ist das ein sehr komplexes unterfange, da du in deinem browserspiel ja eingeloggt sein muss - du musst also das verhalten des browsers simulieren
einfach irgend eine seite auslesen ist nicht das problem - sobald aber sichere protokolle wie https ins spiel kommen oder zur anzeige der daten bestimmte umstände erfüllt sein müssen (cookies, session, javascript) geht das nicht mehr (so einfach)
in diesem fall hift dir, wie ich bereits sagte ggf curl weiter
einfach irgend eine seite auslesen ist nicht das problem - sobald aber sichere protokolle wie https ins spiel kommen oder zur anzeige der daten bestimmte umstände erfüllt sein müssen (cookies, session, javascript) geht das nicht mehr (so einfach)
also die session cookies müssen vorhanden sein und normale cookies sonst nix...das geht nur mit curl nicht mit php?
daarf ich fragen wie?^
also die session cookies müssen vorhanden sein und normale cookies sonst nix...das geht nur mit curl nicht mit php?
auch mit php lässt sich curl nutzen
daarf ich fragen wie?^
das ist etwas komplexer - du musst "nur" exakt das reproduzieren, was im browser passiert (http-anfragen und deren reaktionen drauf) wenn du dich einloggst - da mit das browsergame nicht merkt, dass du es nicht direkt mit einem browser aufrufst
wget ist auch eine möglichkeit, hier lassen sich cookies wesentlich leichter akzeptieren als mit curl
dabei hilft dir ggf das firefox-addon "tamper data" um sämtlich http-requests und responses zu protokollieren
prinzipielle vorgehensweise (wohlgemerkt führen diese dinge dazu, möglicherweise einen wirksamen bot-schutz zu umgehen und verstoßen gegen die nutzungsbedingungen deines browsergames):
ab diesem zeitpunkt hast du den quelltext, den du auswerten willst bereits
und nochmal:
also sag nicht, ich hätte dich nicht gewarnt
tamper data bestize ich schon ne weile,das is jut^^
und ich will bei den spiel ja nich bescheißen deswegen kann der ganze teil:
rauslassen.
ich will ja im prinzip nur die übersichtsseite abfragen.
sonst würde ich ja etwas bot ähnliches machen was ich sicher nicht will!
das problem...ich weiß nicht wie ich die cookies(session und weitere) mitschicken soll....
ich will ja im prinzip nur die übersichtsseite abfragen.
sonst würde ich ja etwas bot ähnliches machen was ich sicher nicht will!
das problem...ich weiß nicht wie ich die cookies(session und weitere) mitschicken soll....
wenn du dich einloggen musst, um die übersichtsseite zu sehen, kannst du den teil oben nicht weglassen (egal ob du einen echten benutzer simulierst oder nicht) - wenn du dich nicht einloggen musst, tut file_get_contents() genau das was du willst
hm also ich muss eingeloggt sein aber ich will mich nicht mit dem php script einloggen sondern per hand.also sagen wir mal ich ruf ganz normal im browser die seite auf und logge mich ein und danach geh ich auf meinen server und starte das skript.
aber ich denke mal dann stellt sich die frage woher das skript die cookies usw nimmt,weil die sind ja lokal auf meinem rechner...oder was meinst du ?
erstmal nochmal danke für deine "aufopferung"!!!^^
hm also ich muss eingeloggt sein aber ich will mich nicht mit dem php script einloggen sondern per hand.also sagen wir mal ich ruf ganz normal im browser die seite auf und logge mich ein und danach geh ich auf meinen server und starte das skript.
komplizierter gehts nicht?
aber ich denke mal dann stellt sich die frage woher das skript die cookies usw nimmt,weil die sind ja lokal auf meinem rechner...oder was meinst du ?
die müssen natürlich auf dem rechner liegen, auf dem der php-interpreter läuft und natürlich im benutzerverzeichnis des webserver-benutzers (auf einer linux/apache-kiste ist das meistens "www-data")
wie schon erwähnt ist die einfachere variante wahrscheinlich die wget-variante, damit dürftest du mit schätzugnsweise 2 bis 3 zeilen zum erfolg kommen
hier hält sogar die englische wikipedia alle nötigen infos dazu bereit http://en.wikipedia.org/wiki/Wget