PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Text aus IFrame auslesen



Iaa_1
26.02.2012, 10:44
Hi,

welche Funktionen/Wege können mir dabei helfen Text aus einem IFrame auszulesen?

Nookie
26.02.2012, 11:10
file_get_contents()
könnte sein was du suchst...

Iaa_1
26.02.2012, 11:55
Das Problem dabei ist, dass die URL gleich bleibt, sich der Inhalt aber ändert. Wir bräuchten also nicht den Inhalt der Seite, wie er aussieht wenn man die Seite aufruft, sondern es soll nach einem einzigen Satz auf der Seite, nach dem Drücken eines Buttons, gesucht werden.
Ist es möglich durch die Funktion den Inhalt der Seite nach dem Satz zu durchsuchen und nicht die ganze Seite wiederzugeben?

Notorious
26.02.2012, 14:14
Mit explode() (http://php.net/manual/de/function.explode.php) könntest du es dann abtrennen.

lrg0
26.02.2012, 14:24
Die Url bleibt gleich aber die Seite ändert sich? Ist da ein JavaScript im Spiel?

Um Texte zu zerlegen kannst du RegEx (PCRE) nutzen.

nelson1109
26.02.2012, 14:50
welche Funktionen/Wege können mir dabei helfen Text aus einem IFrame auszulesen?
Das geht nicht, das währe eine riesige Sicherheitslücke.
Und du hast den Thread in den falschen Bereich geschrieben ich bin mir nähmlich ziemlich sicher das es keinen Webbrowser gibt der PHP ausführt.
Denn wenn überhaupt könnte man Inhalte aus einem IFrame nur Clientseitig auslesen weil das IFrame vom Client und nicht vom Server geladen wird.


sondern es soll nach einem einzigen Satz auf der Seite, nach dem Drücken eines Buttons, gesucht werden.
Soll der Satz aus einem IFrame gesucht werden nachdem ein Button auf deiner Seite gedrückt wird oder soll ein Satz von einer Seite gelesen werden nachdem der Button auf dieser Seite gedrückt wurde?

Iaa_1
26.02.2012, 15:27
Soll der Satz aus einem IFrame gesucht werden nachdem ein Button auf deiner Seite gedrückt wird oder soll ein Satz von einer Seite gelesen werden nachdem der Button auf dieser Seite gedrückt wurde?

Der Button befindet sich auf der fremden Seite. Es handelt sich um ein Vote-Skript, zwecks Prüfung, ob jemand gevotet hat. Am Ende soll der User, nachdem das Voten erfolgreich war, einen Punkt erhalten.

lrg0
26.02.2012, 15:44
Sprich doch mal Klartext und gebe den Link zu der Seite, die du auslesen willst und dann erklären nochmal an der Seite was du vorhast.

Dann wird es vielleicht einfacher dein Problem zu erkennen und eine konkrete Antwort zu finden.

Iaa_1
26.02.2012, 15:50
Beispielseite:
http://minecraft-server.eu/?go=server&id=3845

Wenn man dort nun auf die hautfarbene Hand drückt (rechts neben Bewertungen) wird man aufgefordert ein Captcha einzugeben. Der Link zum Captcha ist:
http://minecraft-server.eu/?go=servervote&id=3845

Unser Ziel ist es, dass die User ihren Benutzernamen in unserem Voteskript (auf unserer Seite) eingeben und dann im Iframe der Captcha-Seite den Captcha-Code eingeben. Wenn man dort dann den Code eingegeben hat und den Button drückt wird man weitergeleitet und es steht ein Text wie "Du hast erfolgreich gevotet!" da. Sofern dieser erscheint möchten wir unserem User einen Votepunkt geben.

lrg0
26.02.2012, 15:59
Wenn ich dich richtig verstanden habe sollte das ganze doch mit einem Javascript lösbar sein, das über Ajax ein Request an nen Php-File schickt, dass dann den Punkt an den User vergibt wenn das Formular mit dem Captcha abgeschickt wurde.

Jetzt müsste man sich nur noch überlegen, wie man prüfen kann, ob das Captcha richtig abgelesen wurde.
Habe mir so ein Captcha-System nie wirklich angesehen, daher kann ich dazu jetzt nichts sagen.
Wo wird denn verglichen ob, der Code vom Captcha mit dem Code aus der Eingabe übereinstimmt?

Iaa_1
26.02.2012, 16:02
Das ist wohl das größte Problem, weshalb wir uns dachten, dass wir einfach schauen, ob die Seite von sich aus sagt, dass der User richtig gevotet hat oder eben nicht.
Ggf. kann man auch vergleichen wie viele Vote-Punkte es vorher waren und wie viele es danach waren.

Bonkers
26.02.2012, 16:13
Ggf. kann man auch vergleichen wie viele Vote-Punkte es vorher waren und wie viele es danach waren.

Genau.
Das machen auch größere Server so, siehe:

http://minecraft.pangalacticgargleblaster.de/vote.php

nelson1109
26.02.2012, 16:46
Ich hab die Beispielseite nur grob überflogen und kenne dein richtiges "Ziel" nicht, es kann also sein das nicht alles genauso funktioniert wie ich das hier beschreibe.

Im groben kannst du aber wie folgt vorgehen:
1. Ein Serverseitiges Skript oder Programm (ich geh jetzt mal von PHP aus weil der Thread in der PHP section ist) fragt die Seite die das captcha generiert ab.
Bei der Beispielseite ist das: http://minecraft-server.eu/klassen/securimage/securimage_show.php
Dabei speicherst du dir den übergebenen cookie und das Bild irgendwie. (würde ich persöhnlich in einer Session machen)
2. Der Client lädt deine Seite. In der Seite bindest du das gerade von deinem Server geladene Bild ein.
3. Der user gibt das captcha und seinen Namen ein.
4. Dein Serverseitiges Skript das die Eingabe empfängt ruft wieder die voting seite ab, diesmal aber die Seite die die Daten aus dem original Formular verarbeitet, und übergibt die Daten die der User auf deiner Seite eingegeben hat mitsamt dem cookie mit der Session den du dir gespeicherst hast.
Und verarbeitet die Rückgabe (wen captcha falsch -> neu oder wenn richtig +1 vote auf deiner Seite).
5. Fertig

So schwer war das wirklich nicht -.-