Daten des Sessioncookies werden nicht ausgelesen
Alatariel
- webserver
Hallo Community
Ich habe das Problem, dass auf einer Loginseite ein Sessioncookie zwar auf dem Server angelegt wird, die Daten auf der folgenden Seite allerdings nicht ausgelesen werden können.
Als Testumgebung benutze ich 2 PCs.
Einmal mit Gentoo und einem von Hand installierten Apache2 und PHP5.
Die andere Umgebung ist ein Windows XP PC auf dem Apache2 und PHP5 über xampp installiert wurde.
Die PHP Seiten sind auf beiden PCs identisch.
Wenn ich eine der beiden Webseiten nun innerhalb des LANs oder über localhost aufrufe ist der Login erfolgreich und auf der nachfolgenden Seite stehen die Session Daten zur Verfügung.
Benutze ich die externe IP um die Seite aufzurufen, stehen die Daten ebenfalls zur Verfügung.
Sobald ich allerdings über meine dyndns Adresse versuche die Seite auf der Gentoo Box aufzurufen wird das Cookie mit den Daten nur auf der Box angelegt. Ein Aufruf von print_r($_SESSION) gibt allerdings nur ein leeres Array zurück.
Rufe ich die gleiche Seite über dyndns auf der Windows Box auf, habe ich keinerlei Probleme.
Falls ihr noch mehr Daten benötigt geb ich sie euch gern. Ich habe alles getestet, was mir einfiel bin nun aber mit meinem Latein am Ende.
Vielleicht kann mir einer von euch ja weiterhelfen :-)
MfG
Mario
hi,
Ich habe das Problem, dass auf einer Loginseite ein Sessioncookie zwar auf dem Server angelegt wird
Das ist kein "Session-Cookie".
[...] Sobald ich allerdings über meine dyndns Adresse versuche die Seite auf der Gentoo Box aufzurufen wird das Cookie mit den Daten nur auf der Box angelegt.
Meinst du jetzt den wirklichen, auf dem Client gespeicherten Cookie, der die Session-ID enthält?
Ein Aufruf von print_r($_SESSION) gibt allerdings nur ein leeres Array zurück.
Rufe ich die gleiche Seite über dyndns auf der Windows Box auf, habe ich keinerlei Probleme.
Überprüfe, ob die Übergabe der Session-ID funktioniert.
Lese im Manual nach, auf welche Arten diese passieren kann, unter welchen Umständen PHP automatisch dafür sorgt und wann du ggf. manuell nachhelfen musst, etc.
Kurzum: Erweitere dein Verständnis der Funktionsweise des Session-Mechanismus von PHP - es scheint derzeit noch reichlich dürftig zu sein.
gruß,
wahsaga
Danke, dass du nicht einmal versuchst mir zu helfen sondern mir vorab pure Unfähigkeit unterstellst.
Die Session ID wird in einem Session Cookie gespeichert.
Nach dem Login wird die Session mittels session_name(), session_start() und session_id() wieder aufgenommen.
Die dabei erhaltene Session ID ist mit der des Clientseitig gespeicherten Cookies völlig identisch.
Die Sessiondaten liegen indessen im /tmp/ Ordner des Servers. Fein säuberlich mit Angabe des Datentyps und getrennt durch eine Pipe.
MfG
Mario