phpbar.de logo

Mailinglisten-Archive

[php] php-Sessions? (ap)

[php] php-Sessions? (ap)

Alexander Palm Alex.Palm at gmx.de
Son Sep 26 15:17:21 CEST 2004


Hallo Frank Rasche!

Du hast am Sonntag, 26. September 2004
 um 14:20 folgendes geschrieben:

> Du berücksichtigst bei deinen Tests aber schon, dass der GC erst
> anspringt wenn die Session-Funktionen wieder aufgerufen werden?
> 
> User A logt sich ein -> Session wird generiert.
> User B logt sich ein -> Session wird generiert, abhängig von
>      session.gc_divisor,
>      session.gc_probability
> wird der GC gestartet und löscht Sessions abhängig von
>      session.gc_maxlifetime.
> 
> D.h. die Session von User A bleibt generell mindestens so lange im FS bis jemand
> sich wieder einloggt, bzw der GC angestossen wird.
> Ich weise nur darauf hin, weil das bei Selbsttests mit einem User nicht immer
> berücksichtigt wird ;)

ja, ich mache es so das im LOGOFF auf jeden Fall ein GC laufen sollte 
- also wenn sich ein User mal richtig abmeldet sollte er auf jeden 
Fall laufen:

<?php
// Session löschen
$old_session_path = ini_set('session.save_path',
                    $_SERVER['DOCUMENT_ROOT'].'udb/sessions');

$old_session_path = ini_set('session.gc_probability','100');

session_start();
session_unset();

include('header.html');

if (session_destroy())
   echo "<p>Du hast Dich erfolgreich Abgemeldet....</p>\n";
   echo "<a href=\"index.php\">zur&uuml;ck</a>\n";


include('bottom.html');
?>

das Umbiegen des session.save_path ist auch in JEDER anderen Datei 
durch die LOGIN-Check-Funktion gegeben.

Wenn ich nun feststelle das noch jemand angemeldet ist obwohl er 
nicht mehr da ist, gehe ich absichtlich immer mit meinem User auf 
LOGOFF in der Erwartung das dann alle Sessions gelöscht werden. Das 
ist aber leider nicht so. :-(

> Ansonsten sehe ich so keinen Fehler.
> 
> http://bugs.php.net/ durchsucht?

Noch nicht.

> PHP-Version?

Ähm - 4.2.2

> Typo in php.ini?

Typo?

> Session-relevanter Auszug von php.ini?

So wie ich das sehe alles auf default?

[Session]
session.save_handler = files
session.save_path = /tmp/
session.use_cookies = 1
session.name = PHPSESSID
session.auto_start = 0
session.cookie_lifetime = 0
session.cookie_path = /
session.cookie_domain =
session.serialize_handler = php
session.gc_probability = 1
session.gc_maxlifetime = 1440
session.referer_check =
session.entropy_length = 0
session.entropy_file =
;session.entropy_length = 16
;session.entropy_file = /dev/urandom
session.cache_limiter = nocache
session.cache_expire = 180
session.use_trans_sid = 1

Was ich nur im Script ändere ist der save_path.

Liebe Grüße Alex

-- 
Bitte kein TOFU!
Infos: http://palms-net.de/links/go_url.php?id=49

Ein Geizhals und ein fettes Schwein entfalten ihren
Nutzen erst nach dem Tode.



php::bar PHP Wiki   -   Listenarchive