Hauke Hammerich: Kurze Frage zu Sessions!

Beitrag lesen

Moin!

Nun möchte ich aber auch die Session an Folgeseiten über die URL weitergeben und dort überprüfen ob die Daten stimmen.

Warum über die URL? Standardmäßig werden Cookies benutzt, die sind für sowas viel besser geeignet.

"<a href="index.php?section=intern&amp;".SID.">"

Habe aber gemerkt das hier nicht die SessionID an die URL angehängt wird.

Das ist typisch für PHP-Sessions, wenn Cookies benutzt werden.

OK, Das heißt also das ich gerade schon Cookies benutz?

Wie kann man auch noch überprüfen ob die Session noch existiert?
Reicht dafür ein einfaches
if(isset($_SESSION['ID'] ?

Was soll das prüfen?

Prüfe nicht, ob die Session noch existiert. Du kannst davon ausgehen, dass der PHP-interne Mechanismus mit Cookies sehr gut und mit der Alternative über URL und Formularfelder gut funktioniert, so dass die Session eigentlich garantiert immer weiter getragen wird von Seite zu Seite.

Was du prüfen mußt ist, ob der Benutzer Zugriff auf die jeweilige Seite haben darf - und zwar bei jedem neuen Seitenzugriff auf deinen internen Bereich. Die Existenz einer Session beweist nichts, die kann jedermann ganz einfach starten.

  • Sven Rautenberg

Ok. Also muss ich auf jeder Internseite überprüfen ob der User ein Recht hat dort hinzukommen.
Ich muss also jedes mal die aus dem POST übergebenen Werte abfragen und mit den Werten in der DB überprüfen?
Oder gibt es eine ander Lösung?

Wird die Session eigentlich außer beim Logout dann auch beim schließen des Fensters auf dem Server gelöscht wenn ich Cookies benutze?

Gruß
Hauke

Und schonmal danke für die Antwort!