• Das Erstellen neuer Accounts wurde ausgesetzt. Bei berechtigtem Interesse bitte Kontaktaufnahme über die üblichen Wege. Beste Grüße der Admin

Scripts auf anderen Servern mit Vaiablen aufrufen

K

kutiku

Guest
Hi!
Wenn ich ein Script auf 'nem anderen Server aufrufe kann ich die "GET" Variablen einfach in der Addresse übermitteln.

Wie schaut's aber mit den Postvariablen oder Cookies aus?
Wie finde ich heraus, welche Cookies das fremde Script setzt?

Das ganze geht um ein Script dass auf meinem Server ein Script auf 'nem anderen Server ausführt! Ich will eigentlich, dass mein Script für das abdere Script wie ein echter Browser aussieht!

Die Sprache ist mir Wurst. Vorzugsweise wäre PHP genial.
 
Hmm?

Heißt das jetzt, dass ich mich nicht klar genug Ausgedrückt habe, oder dass niemand eine Antwort weiß?
 
Ich glaube es gibt gar keine Antwurt dadrauf :)

Du kannst aber ein <form>-Feld setzen und da die Variablen mit hidden-Feldern reinsetzen und per JS ein automatisiertes abschicken dieses Forms starten
 
Danke

Aber das hilft mir leider nicht weiter, da das ganze auf dem Server geschehen soll.
 
macht nix

Das ist genau das, worum es mir geht!

Wenn ich die Sache mit einem Formular mache, geht es vom Browser aus!
Ich will aber, dass das fremde Script von meinem Server aus gestartet wird!
 
also das was Du da vorhast hört sich schon ziemlich wild an.... im Grunde sowas wie Middleware... hast Dus mal mit CORBA, RMI oder gar EJBs versucht??

ansonsten fällt mir noch Socket Programmierung ein...

ob Dir das aber weiterhilft.... *achselzuck*

vielleicht wirst Du mal ein bißchen konkreter warum der Aufwand, oder welches Ziel Du hast, dann kann man sich vielleicht eine (bessere) Lösung/Alternative ausdenken....

ich hoffe Du hast nicht vor Skript-Hijacking zu machen :))
 
ganz harmlos

Es gibt halt manch kluge Seiten im WWW, die nur dann funktionieren, wenn man Cookies setzen kann und diese wiederum auch auslesen kann. Ebenso gibt es Scripte die nur Formulardaten annehmen, wenn diese auch per POST gesendet wurden.
(Wie gesagt, GET macht keinen Probleme)

Ich möchte mir halt ein Script machen, das mir persönlich den Inhalt dieser Seiten anzeigt, ohne dass ich mich auf all diesen Seite einloggen muss.

Beispiel:
Ich will mir gleichzeitig die Bannertausch-, Affliate- und irgendwelche anderen Statistiken anschauen.
Normaler Weise müsst ich dann auf drei verschiedene Seiten hüpfen. Und mich noch dazu evtl einloggen.
Das möchte ich mir mit einem Script ersparen, und alles auf einmal sehen!

Was ist CORBA, RMI oder gar EJBs?
Socketprogrammierung???
 
Uff!

Also heißt das das du ein Include() haben möchtest das Variablen an eine entfernte Seite per POST übergibt und dann das Ergebnis (am besten noch formatiert) ausgibt ?!

Da kann ich dir nicht weiterhelfen...
 
hmm also das halte ich für äußerst schwierig.. wenn auch nicht unmöglich... aber ob der Aufwand das Ergebnis wert ist??

Also bei dem geschilderten Problem fallen CORBA, RMI und EJB raus, die funktionieren hier nicht. Es sei denn Du kriegst die Anbieter dazu das entsprechend so anzubieten.
Ich gehe auch mal davon aus, Du hast keinen direkten Zugriff auf die Datenbank, so daß dies auch ausfällt.

also bleibt die Socketprogrammierung.... Sockets ist Low Level TCP/IP Programmierung, d.h. hier kannst Du Dein eigenes Übertragungsprotokoll auf TCP/IP aufbauen. Was hat das jetzt mit Deinem Problem zu tun?? Nunja HTTP setzt als Protokoll auf TCP/IP auf. Die Daten werden dabei unkomprimiert als Text übertragen (was schon mal gut ist, weil ne Verschlüsselung oder Kompression würde das Ganze erschweren :( ). Aussprobieren kannst Du das, indem Du auf irgendeinen Webserver mal mit Telnet losgehst:
telnet webserver 80
webserver ist hierbei die Adresse (IP oder Name) des Webservers und 80 der Port für HTTP. Du kriegst eine Verbindung und kannst dann z.B. mit
GET / HTTP/1.0
das Hauptverzeichnis anfordern (wichtig ist hier zweimal Return zu drücken!!) Der Server wird diese Datei prompt zurückschicken und Dein Telnet zeigt Dir das Ganze als Text an, danach wird die Verbindung i.d.R. serverseitig gekappt. Jetzt kannst Du Dir die Doku zu HTTP anschauen und wirst feststellen, daß man da noch mehr Daten mitschicken kann (oder eben statt GET ein POST schicken kann)... würde jetzt zu weit führen, das jetzt aufzuzählen. Auch wirst Du merken, daß über dem HTML Dokument, welches im Telnet zurückkommt noch zusätzliche HTTP Header Daten stehen, die Dein Browser normalerweise für sich behält (wie z.B. den Content-type)
Du müsstest jetzt ein Programm schreiben, welches einen HTTP Request zusammenbaut, eine Socket Verbindung zum gewünschten (oder mehrere) Server aufbaut, die Daten schickt, die Antwort abwartet und danach daraus eine HTML Seite baut, die Du dann irgendwie im Browser anschauen kannst....

wie schon gesagt ist sauviel Arbeit....

ciao,

Albu
 
wieso frägst du nicht den sitebetreiber, ob er dir einen direkt-link zur verfügung stellt? denn wenns nicht gehts, ist´s sicherlich auch nicht gewollt, dass es so einfach ist, die inhalte aufzurufen.
bye,
mo
 
klingt sehr gut!

Jetzt weiß ich auch schon, welche Cookies das Script setzt.
OK, jetzt müsste ich aber nur noch wissen, wie ich selber dem Script Cookies und die POST Variablen übermittle.

Du hast was von 'ner HTTP-Doku gesprochen. Kannst mir mal 'nen Link veraten?
danke!

Du hast mit sehr geholfen, Albu!

@Michael: Man ist doch hier, um was neues zu lernen :D
 
das Ganze ist in RFCs spezifiziert... findet man eigentlich überall im Netz z.B. hier http://www.w3.org/Protocols/rfc2068/rfc2068
ist auf englisch und enthält mit Sicherheit dutzende Querverweise auf andere RFCs.... aber Du kannst Dich ja auf die Parameter beschränken, die für Deinen Fall notwendig sind... :)

ciao,

Albu
 
Danke

Was man alles mit dem HTTP machen kann!!
Ich komm aber nicht mit diesem fetten Dokument zurecht. Ich kann zwar mittlerweile Cookies senden und empfangen und sogar den Referer setzen, aber die Post variablen check ich immer noch nicht :(

HILFE
 
Also POST erfordert das "encoding" von Variablen und Daten im Content Bereich (d.h. nach dem Header, bzw. Header und Content sind durch eine Leerzeile getrennt)
wie das Ganze einzupacken ist, damit der Server das entsprechend weiterverarbeiten kann steht laut dem HTTP Dokument in einer anderen Doku und zwar RFC 1867 http://www.ietf.org/rfc/rfc1867.txt
testen könntest Du das natürlich auch lokal bei Dir (geht vielleicht schneller, als wenn Du Dich durch die RFCs kämpfst):
Du besorgst Dir ein Tool wie z.B. netcat mit diesem kannst Du ganz einfach mal schnell eben einen Webserver simulieren (indem Du netcat im Server Mode auf Port 80 startest) und dann jagst Du mit einem vorbereiteten HTML Formular Deinen Webbrowser drauf los. Das Formular schickt die Daten per POST an localhost und Du kannst im netcat Fenster anschauen, was der Browser da alles mitschickt und wie er das alles verpackt.
und bevor Du fragst http://www.l0pht.com/~weld/netcat/ :)
 
DANKE

Ich hab's gestern auch schon entdeckt (nur ich war zu müde, um es hier reinzuposten).
Wens interessiert:

$vars="test0=juhu&test=ja";

$fp = fsockopen ("localhost", 80, &$errno, &$errstr, 30);
fputs ($fp, "POST /fabi/pkb/test.php HTTP/1.1
Host:localhost
Referer:blablabla
User-Agent:Blablabla
Cookie:test1=1;test2=1
Content-type: application/x-www-form-urlencoded
Content-length: ".strlen($vars)."
Connection: close

".$vars."
");
while (!feof($fp)) echo fgets($fp,128);
fclose($fp);


Danke für die Hilfe ;-)
 
Es geht darum, dass dieses Script so tut als ob es ein Browser wäre und eine fremde Seite öffnet.
Und nun kann es der Fremden Seite Daten per POST, GET oder COOKIE übermitteln. Es hat sogar einen Referer und einen User-Agent. Was will man mehr? :D
 
jo und wenn Du jetzt noch hergehst uind machst ne Klasse draus, die man mit den gewünschten Parametern füttern kann, dann kannst Du das ganze sogar wiederverwenden... sozusagen als HTTP Kommunikationsklasse :))
 
Zurück
Oben