Hallo,
kleine Denksportaufgabe:
Ich habe eine Website erstellt, die prinzipiell ganz ohne "Anmelden" etc. funktioniert. Erst für bestimmte Bereiche ist es notwendig, sich zu authentifizieren. Wie immer - jemand gibt seine ID und sein PW ein, wenn's stimmt, wird eine Session initialisiert und die entsprechenden Werte in dieser Session gespeichert.
Bei jedem Seitenaufruf der Site wird kontrolliert, ob aus $_REQUEST eine PHPSESSID mitgeliefert wird --> wenn ja, wird die Session wieder gestartet.
Das hat soweit auch ganz gut geklappt, bis jetzt - ein paar Stunden und unzählige Testversuche später - plötzlich das Cookie mit der PHPSESSID verloren geht.
Folgendes hab ich jetzt schon ausprobiert:[list=1][*]Alle Cookies auf meinem Rechner gelöscht[*]error_reporting(E_ALL | E_STRICT) gesetzt --> kein Fehler, keine Warnung, ...[*]Auskommentieren jeder einzelnen Zeile --> nix gefunden[*]Browser neu gestartet / PC neu gestartet[*]auch zwei andere Browser verwendet (neben IE noch Mozilla und Opera) --> gleiches Ergebnis[*]Mittels echo-Befehlen Zeile für Zeile den Programmablauf mitverfolgt --> alles programmgemäß[*]Mittels print_r($_REQUEST) etc. alles ausgelesen --> PHPSESSID bleibt verschwunden[/list=1]
Dann habe ich in eine test.php in einem Unterverzeichnis eine weitere Session gestartet, siehe da, dort kommt das Cookie plötzlich retour! Wenn ich dann im selben Browserthread auf die obige Homepage surfe, funktionierts dort auch! Was mir sagt, dass der Fehler (natürlich) doch im Skript liegen muss.
Aber was - bitte - habe ich zum Prüfen vergessen?
Danke! Stefan
kleine Denksportaufgabe:
Ich habe eine Website erstellt, die prinzipiell ganz ohne "Anmelden" etc. funktioniert. Erst für bestimmte Bereiche ist es notwendig, sich zu authentifizieren. Wie immer - jemand gibt seine ID und sein PW ein, wenn's stimmt, wird eine Session initialisiert und die entsprechenden Werte in dieser Session gespeichert.
Bei jedem Seitenaufruf der Site wird kontrolliert, ob aus $_REQUEST eine PHPSESSID mitgeliefert wird --> wenn ja, wird die Session wieder gestartet.
Das hat soweit auch ganz gut geklappt, bis jetzt - ein paar Stunden und unzählige Testversuche später - plötzlich das Cookie mit der PHPSESSID verloren geht.
Folgendes hab ich jetzt schon ausprobiert:[list=1][*]Alle Cookies auf meinem Rechner gelöscht[*]error_reporting(E_ALL | E_STRICT) gesetzt --> kein Fehler, keine Warnung, ...[*]Auskommentieren jeder einzelnen Zeile --> nix gefunden[*]Browser neu gestartet / PC neu gestartet[*]auch zwei andere Browser verwendet (neben IE noch Mozilla und Opera) --> gleiches Ergebnis[*]Mittels echo-Befehlen Zeile für Zeile den Programmablauf mitverfolgt --> alles programmgemäß[*]Mittels print_r($_REQUEST) etc. alles ausgelesen --> PHPSESSID bleibt verschwunden[/list=1]
Dann habe ich in eine test.php in einem Unterverzeichnis eine weitere Session gestartet, siehe da, dort kommt das Cookie plötzlich retour! Wenn ich dann im selben Browserthread auf die obige Homepage surfe, funktionierts dort auch! Was mir sagt, dass der Fehler (natürlich) doch im Skript liegen muss.
Aber was - bitte - habe ich zum Prüfen vergessen?
Danke! Stefan
Kommentar