php.de

Zurück   php.de > Webentwicklung > PHP Einsteiger > PHP Tipps 2005-2

 
 
LinkBack Themen-Optionen Thema bewerten
Alt 25.10.2005, 20:57  
Gast
 
Beiträge: n/a
Standard session problem

Hallo zusammen !

ich habe bei mir die dauer der sessions auf 10 Stunden eingestellt ini_set('session.gc_maxlifetime',36000) .
Jetzt habe ich folgendes Problem :
Wenn jemand auf einer Seite ist, und diese in den Favoriten abspeichert, dann wird die Session id mit abgespeichert, da diese in der URL übergeben wird.
Wenn man jetzt alle Browser schliesst, und dann über die Favoriten den Link wieder aufruft, dann stehen die Sessionwerte wieder zur Verfügung, und die "alte" Session wird wieder gestartet.

Wie kann ich erreichen, dass die Session zerstört wird, sobald der Browser geschlossen wird.

mfg
jogi
 
Sponsor Mitteilung
PHP Code Flüsterer

Registriert seit: 21.08.2005
Beiträge: 4682
PHP-Kenntnisse:
Fortgeschritten

Alt 25.10.2005, 21:03  
Erfahrener Benutzer
 
Registriert seit: 11.07.2004
Beiträge: 269
function
function eine Nachricht über ICQ schicken
Standard

ähm soweit ich weiss garnicht, du kannst natürlich nen logout machen und dann session_destroy() aber meiner erfahrung nach benutzen nur wenige leute den logout
__________________
Es ist ein großer Trost, andere dort scheitern zu sehen, wo man selbst gescheitert ist. (William Somerset Maugham)
function ist offline  
Alt 26.10.2005, 00:25  
Erfahrener Benutzer
 
Registriert seit: 18.07.2004
Beiträge: 2.162
PHP-Kenntnisse:
Fortgeschritten
Basti
Standard

Hallo.

Nein, es gibt hier tatsächlich keine zuverlässige Lösung. Eine Möglichkeit wäre, dich auf die Übergabe per Cookie zu beschränken. Da hast du zwar auch nicht in der Hand, ob die beim Schließen des Browsers verfallen, aber das zumindest ist das Verhalten, das im Normalfall erwartet werden kann. Und damit erscheint die SID nicht in der URI. Hat natürlich den Nachteil, dass deine Anwendung nicht läuft, wenn der Keks abgelehnt wird.

Ich frag mich allerdings, was es mit einer "Dauer der Session" von 10 Stunden auf sich hat. Die Option "session.gc_maxlifetim" gibt an, ab wann nach dem letzten Aufruf innerhalb der Session die Session-Daten als Müll betrachtet werden. Das sind also zwei wichtige Unterschiede zu deiner Annahme (oder zumindest zu deiner Aussage).

Erstens bestimmst du damit nicht die Dauer der Session. Wenn du die Option auf 5 Minuten setzt und alle 4 Minuten in der Session auf einen Link klickst, läuft die Sitzung ohne Ende.

Zweitens endet die Sitzung nicht zu diesem Zeitpunkt. Sie wird eben als Müll angesehen. Die Müllabfuhr kommt aber, wenn du ihr nichts anderes beibringst nur mit einer Wahrscheinlichkeit von 1:100 pro Seitenaufruf. Kommt also jemand nach knapp über 10 Stunden inaktivität wieder jemand auf einen Link in deiner Anwendung, ist die Wahrscheinlichkeit groß, dass die Daten noch da sind und die Session (obwohl > 10 h) wieder aufgenommen wird (und um weitere 10+ Stunden verlängert wird).

Ich würde bei einer derartig langen Zeitspanne zumindest vom Benutzer fordern, dass er nach x Minuten Inaktivität nochmal sein Passwort zur Bestätigung eingibt - ähnlich einem Bildschirmschoner mit Passwortschutz.

Basti
Basti ist offline  
 


Themen-Optionen
Thema bewerten
Thema bewerten:

Forumregeln
Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are an
Gehe zu

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
[Erledigt] Session Problem karina_02 PHP Tipps 2008 6 18.05.2008 22:37
Problem bei session Lifetime Cyberbob_at_tot PHP Tipps 2007 5 05.06.2007 17:47
Problem mit Session Charly Shop Sui PHP Tipps 2006 13 25.08.2006 17:08
Und noch ein Session Problem... Weyoun PHP Tipps 2006 9 27.02.2006 22:17
Problem mit Firefox und Session PHP Tipps 2005-2 5 25.08.2005 01:14
problem mit session LA-Finest PHP Tipps 2005-2 13 18.08.2005 15:54
Session wieder aufnehmen; Problem mit GET Jacks Rache PHP-Fortgeschrittene 9 12.08.2005 14:32
[Erledigt] Problem mit Session PHP Tipps 2005-2 1 06.08.2005 19:07
Problem mit Session PHP Tipps 2005-2 13 10.07.2005 18:20
seltsames php und session problem netti PHP-Fortgeschrittene 16 01.06.2005 17:01
[Erledigt] Hilfe...PhpBB Session Problem!! PHP Tipps 2004-2 2 15.12.2004 18:28
Session Problem beim Login PHP Tipps 2004-2 6 15.12.2004 09:37
[Erledigt] PHP Session Problem, dringend! PHP-Fortgeschrittene 17 21.10.2004 21:15
Session wird falsch wieder aufgenommen - Problem mit Session PHP Tipps 2004 2 16.10.2004 14:30
session problem PHP Tipps 2004 2 22.07.2004 08:39

Besucher kamen über folgende Suchanfragen bei Google auf diese Seite
session.gc_maxlifetim, php gc_maxlifetim, session.gc_maxlifetim php, session.gc_maxlifetime, ini_set(\'session.gc_maxlifetim problem

Alle Zeitangaben in WEZ +1. Es ist jetzt 04:19 Uhr.




Powered by vBulletin® Version 3.7.2 (Deutsch)
Copyright ©2000 - 2012, Jelsoft Enterprises Ltd.
Search Engine Optimization by vBSEO 3.2.0
Aprilia-Forum, Aquaristik-Forum, Liebeskummer-Forum, Zierfisch-Forum, Geizkragen-Forum

Creative Commons License
Dieser Inhalt ist unter einer Creative Commons-Lizenz lizenziert.