Zum Inhalt springen

Php: Sessions


Empfohlene Beiträge

ich habe mich jetzt über sessions informiert, es ist aber noch eine frage offen.

Um auf session-Variablen zugreifen zu können, muss ich in jedem script, das sessions verwenden soll session_start() ausführen. um die sessiondaten von der platte zu löschen benutze ich session_destroy().

okay, aber was passiert jetzt, wenn der benutzer einfach sein browserfenster schliesst, bevor er zb auf logout (das dann session_destroy() ausführt) klickt?

bleiben dann die sessiondaten für immer auf meiner platte gespeichert???

Link zu diesem Kommentar
Auf anderen Seiten teilen

oh, danke für die schnelle antowrt! das habe ich glatt überlesen *G* sorry!

ession.cookie_lifetime integer session.cookie_lifetime spezifiziert die Cookie-Lebensdauer, die an den Browser geschickt wird, in Sekunden. Der Wert 0 bedeutet "bis der Browser geschlossen wird." Grundeinstellung 0. Siehe auch session_get_cookie_params() und session_set_cookie_params().

^^ betrifft das auch die Daten auf der Festplatte (in /tmp) oder nur das cookie auf dem client??

mir gings nämlich um die daten im /tmp...

Link zu diesem Kommentar
Auf anderen Seiten teilen

Durch folgende Angaben aus der php.ini wird das löschen gesteuert:


[Session]

# Zeit in Sekunden bis zur Ungültihkeit der Session.

#   Wenn die Session über diese Zeit nicht aktualisiert

#     wurde, dann wird sie als Müll markiert.

#  Aktuell: 1440 Sekunden (24 min)

session.gc_maxlifetime = 1440



# Prozentzahl zum Aufruf des Garbage Collectors.

#  Aktuell: 1%, d.h. bei jedem 100sten wird geprüft ob

#    überfällige Session vorhanden sind. Wenn ja, werden

#    sie gelöscht.

session.gc_probability = 1

Link zu diesem Kommentar
Auf anderen Seiten teilen

Original geschrieben von Enrico T.

Teilweise richtig.

Durch die per $_REQUEST verfügbare SessionId wird die Session reaktivert.

Deshalb sollte man auch im Falle, dass das Cookie nicht gesetzt werden kann immer noch die Session id an die Links anfügen.

ich verwende da immer ne funktion, die prüft ob ein cookie vorhanden ist, das den namen der session trägt, und falls das nicht der falls ist, hänge ich die session id an die links an.

Bsp:


function getSid( $url) {
if ( !isset( $_COOKIE[ session_name()])) {
if ( str_pos( $url, "?") != false) {
return $url . "&". session_name() . "=" . session_id();
} else {
return $url . "?". session_name() . "=" . session_id();
}
}

return $url;
}
[/PHP]

Link zu diesem Kommentar
Auf anderen Seiten teilen

Dein Kommentar

Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.

Gast
Auf dieses Thema antworten...

×   Du hast formatierten Text eingefügt.   Formatierung wiederherstellen

  Nur 75 Emojis sind erlaubt.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Editor leeren

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...