Externe Session auslesen

shelter

Grünschnabel
Hallo tut users,

ich will mit hilfe von fsocketopen einen request an einen externen Server Senden.

Mein Problem ist "nur", dass die Seite Sessions beutzt, gibt es die möglichkeit die zugeteilte Session auszulesen und den request unter einbeziehung der Session wieder zurück zu schicken?

freundlichen Gruß und dank

shelter
 
Er will, sowei ich das verstehe, ja keine fremde Session übernehmen.
Ich weiß aber auch nicht ob das geht. Du könntest versuchen bei der Anfrage an den Server ein Cookie mit zu geben, dass so aussieht, wie es der Server erwartet und indem deine SessionID drinsteht.
 
Wolfsbein
Praktisch ist es eine Fremde id da er Sie auf eine andere art abholen möchte als es geplant ist.
Woher soll der Server wissen das es deine Id ist?

Wenn du mal auf den Request eingehs könnte man ne andere möglichkeit finden.
Ich bezweifel das du das mit der Session machen kannst da Socket ne Verbindung ist aber ne session in der Verbindung übergeben wird also ganz anderes Ufer.
Teste halt mal lokal ob du mit Socket eine Variable übergeben kannst die du dann abfragst..
 
Original geschrieben von SonicBe@m
Wolfsbein
Praktisch ist es eine Fremde id da er Sie auf eine andere art abholen möchte als es geplant ist.
Woher soll der Server wissen das es deine Id ist?
...
Ich habe nicht gesagt, dass es über eine einfache Socketverbindung geht. Dazu muss man natürlich eine HTTP Anfrage simulieren. Und mit GET etc. arbeiten. Genauso wie es das HTTP Protokoll eben vorschreibt. Und dann ist es sehr wohl die "richtige" Session.
@shelter: Beschreib mal genauer was du machen willst. Wenn du nämlich in einen geschützen Bereich o.ä. willst, wäre eine SOAP Lösung evtl. besser.
 
Hm, das ganze wird schwierig, da HTTP ja ein zustandsloses Protokoll ist.

Eine Möglichkeit wäre, die Site z.B. per file auszulesen.
Dann musst du noch wissen, wo die Session-ID im Dokument auftaucht.
Wenn du meinetwegen die Index-Seite runterlädst, und du weisst, dass ein Menüpunkz ungefär so aufgebaut ist;
PHP:
<a href="seite.php?<session_name>=<session_id>">seite</a>
Dann könntest du es mit RegEx auslesen. Ungefär so (bin mir nicht sicher):
Code:
preg_match("=[<a href=\"].*[PHPSESSID=](.*)[\">]=i", implode(file("http...")),
$pr_matches);
Dazu musst du allerdings noch wissen, wie die Session auf dem Zielserver heist.

Ausserdem kommt es auch drauf an, was du mit der Session-ID machen willst:
Wenn du dem User einen Link auf den Server geben willst, und dabei die Session benutzen willst (was eigentlich sinnlos wäre), dann musst du sichergehen, dass der Besucher nicht gerade eben schon auf der Seite war (falls er Cookies eigngeschaltet hat).
 
HI Wolfsbein,

Ich simuliere auch eine Anfrage, klappt problemlos, mein Problem ist wie angesprochen das ich irgendwie an die SessionID rankommen muss, da ansonsten meine anfrage erst garnicht angenommen wird.

Siehe Beispielseite

Beispiel Seite

die folgeseite.html soll die seite sein die ich anspreche indem ich ihr die korrekte sID von der hauptseite und name übergebe.



Danke allen für die mühe.

P.S:

In dem Sessionscript ist irgendwo noch ein fehler, kann sein das er manchmal die ganze Zeit behauptet das die Session nicht gültig wäre, einfach nochmal in 5 Minuten probieren
 
Zurück