Session wirkungsvoll killen

tach community,

ich bin gerade dabei eine multilanguage page zu bauen.
ich mache das mit session variablen. problem:
die sessions werden beim apache nicht sauber geloescht und
bleiben im verzeichnis. das ist unschick.

das dumme… ich kann die session nur nach dem timeout oder
logout verfahren killen. nur wenn der user den browser schliesst…
dann wird die session wohl nicht gekilled.

jetzt wollte ich folgendes versuchen:

die session an eine IP binden.
und bei jedem sessionaufruf checken, ob die ip gueltig ist…
also noch aktuell…
und wenn ja… dann checken wie lange nichts gemacht wurde…
bei ablauf einer gewissen zeit dann die session killen.

nun die fragen:

  • wie liste ich alle sessions auf (geht das ueberhaupt?)

  • wie loesche ich eine spezifische session… wenns nicht die
    eigene ist… (geht das ueberhaupt)

  • habt ihr andere loesungen zum killen von sessions? (session_start()etc

bye the way… gibts ne elegantere loesung als sessions fuer den language wechsel zu nutzen (ausser cookies)

danke… und grusz

pixelkoenig

Hallo

meines Wissens wird die Session-Lebensdauer durch session.gc_maxlifetime begrenzt, standardmäßig sind das 1440s (24min). Danach löscht der Apache das Zeug.

Beim Schließen des Browsers wird nicht die Session selber, sondern nur der Sessioncookie gelöscht, wodurch die Session nicht mehr nutzbar ist. Einige Browser löschen die Sessioncookies eventuell erst nach dem Schließen des letzten Fensters.

Johannes Matschke

tach community,

tach communicator :wink:

ich bin gerade dabei eine multilanguage page zu bauen.

Mach ich auch laufend…

ich mache das mit session variablen. problem:

…*umpf*…

die sessions werden beim apache nicht sauber geloescht und
bleiben im verzeichnis. das ist unschick.

…das ist ein altbekanntes Problem…

das dumme… ich kann die session nur nach dem timeout oder
logout verfahren killen. nur wenn der user den browser
schliesst…
dann wird die session wohl nicht gekilled.

…nein, wird sie nicht…

jetzt wollte ich folgendes versuchen:

die session an eine IP binden.
und bei jedem sessionaufruf checken, ob die ip gueltig ist…
also noch aktuell…
und wenn ja… dann checken wie lange nichts gemacht wurde…
bei ablauf einer gewissen zeit dann die session killen.

…warum einfach wenns umständlich auch geht…

nun die fragen:

  • wie liste ich alle sessions auf (geht das ueberhaupt?)

  • wie loesche ich eine spezifische session… wenns nicht die
    eigene ist… (geht das ueberhaupt)

  • habt ihr andere loesungen zum killen von sessions?
    (session_start()etc

bye the way… gibts ne elegantere loesung als sessions fuer
den language wechsel zu nutzen (ausser cookies)

…jetzt kommen wir der Sache näher.
Ich weiss nicht ob ich optimal verfahre mit meinem Konzept, aber es funtkioniert seit Jahren.
Ich gehe folgendermassen vor: Jeder Text wird in einer eigenen Textdatei im Unterverzeichnis /lang abgelegt.
Die Dateien beinhalten den jeweils benötigten Text immer nur in einer Sprache. Die Dateien heissen bei mir z.B. seite1_artikel1_de.txt oder seite1_artikel1_en.txt usw.
Damit nun ein Besucher nicht ständig seine Sprache auswählen muss, sondern nur einmal am Anfang verlinke ich nur per
Links gibts bei mir nur als Buttons und innerhalb des -tags findet sich dann ein für Deutsch als Beispiel.
Die seite2.php beinhalten dann das Script, welches anhand von der Variable $lang mit mehreren if-Schleifen entscheidet welche .txt an welcher Stelle eingebunden wird (fopen…).

Damit hats dann keine method=„GET“-Probleme, keine session-Probleme und keine cookie-injection-Probleme mehr.

danke… und grusz

pixelkoenig

Bitte

Gruß
widecrypt