gleiche Domain, unterschiedliche Sessions
foomaker
- php
Tach zusammen,
Ist-Zustand:
Unter www.example.com befinden sich zwei php-Skripte tool1.php und tool2.php.
Beide haben außer der gleichen Domain nix gemeinsam - AUßER, dass bescheuerterweise beide Tools gleichlautende Sessionvariablen nutzen, z.B. $_SESSION['userid'].
Ist der User mit seiner ID in tool1 angemeldet, geht mit seiner Anmeldung an tool2 (anderslautende userid!) die userid in tool1 verloren bzw. wird überschrieben, da in beiden Skripte ja nur eine gemeinsame Session bekannt ist.
Das habe ich gelöst, indem in beiden tools jeweils vor session_start() die Session mit session_name() benannt wird, z.B. mit session_name('sessionTool1').
Das scheint soweit auch zu funktionieren. Ist das tatsächlich so einfach, oder habe ich womöglich was übersehen? Wo ist der Haken - wenn es ihn denn gibt.
Gruß vom foomaker
Hello,
Das habe ich gelöst, indem in beiden tools jeweils vor session_start() die Session mit session_name() benannt wird, z.B. mit session_name('sessionTool1').
Das scheint soweit auch zu funktionieren. Ist das tatsächlich so einfach, oder habe ich womöglich was übersehen? Wo ist der Haken - wenn es ihn denn gibt.
Vertrauen ist gut, Kontroll ist besser:
Lass Dir doch in beiden Scripte mal die Cookies anzeigen
<pre>
<?php echo htmlspecialchars(print_r($_COOKIE,1));
</pre>
Dann wirst Du sehen, dass beide Scripte alle Cookies zur Verfügung haben.
Benutzt wird aber derjenige, den Du mit session_name() festgelegt hast.
Es ist also so einfach. :-)
Liebe Grüße aus dem schönen Oberharz
Tom vom Berg
Hallo Tom
Es ist also so einfach. :-)
Jap - getestet. Danke für die Verstärkung. ;-)
Gruß vom foomaker
Hi,
Es ist also so einfach. :-)
Wobei gerade du doch sonst Wert darauf legst, auf mögliche Probleme mit dem session.save_path und dem Garbage Collector hinzuweisen :-)
MfG ChrisB
Hello,
Es ist also so einfach. :-)
Wobei gerade du doch sonst Wert darauf legst, auf mögliche Probleme mit dem session.save_path und dem Garbage Collector hinzuweisen :-)
Stimmt.
Könntest Du das nicht mal übernehmen im Moment?
Ich brüte hier noch über einer anderen Frage.
Den GC fasse ich ja in meinen Projekten nicht sonderlich an. Der wird einmalig so konfiguriert, dass er genügend Zeitrahmen zur Verfügung stellt. Alles andere regelt dann die Sessionverwaltung über die Datenbank für jede Domain oder sogar authentifizierten User individuell.
Liebe Grüße aus dem schönen Oberharz
Tom vom Berg