Ergebnis 1 bis 6 von 6

Thema: Session beenden

  1. #1
    Erfahrener Benutzer Avatar von halk
    Registriert seit
    15.11.2006
    Beiträge
    559

    Session beenden

    Hallo

    gibt es eine möglichkeit das der user automatisch ausgeloggt wirt noch einer gewissen zeit.
    Mfg Halk


  2. #2
    Erfahrener Benutzer Avatar von eRaaaa
    Registriert seit
    06.06.2007
    Beiträge
    702
    hmm

    meinste jetztt nach einer gewissen inaktivitätszeit? oder allgemein, dass du jede session nach xx min kappst?

    also jetzt vom logischen her:

    du kannst eine session mit session_destroy(); beenden.

    mein lösungsansatz wäre, dass du in der session.lib beim einloggn z.b.

    $_SESSION['login_time'] = time();
    setzt.

    dann halt irgendwie beim seitenaufruf stetig erhöhen/setzen ,

    vorher abfragen ob time() > $_SESSION['login_time'] + DIEZEITDIEERMAXIMALINAKTIVSEINDARF

    wenn ja, ---> session_destroy(); , else --> weiter machn ;D


    müsste eig. funktionieren ist allerdings ungetestet und scho sehr spät (ähh früh ;D )

  3. #3
    Erfahrener Benutzer Avatar von SebbyPHM
    Registriert seit
    17.07.2006
    Beiträge
    844
    In der session.lib.php vor session_start(); folgendes anfügen:

    PHP-Code:
    $expireTime 60*60*6// 6 = stunden  
      
    ini_set('session.use_cookies'true);
    ini_set('session.gc_maxlifetime'time() + $expireTime);
    ini_set('session.cookie_lifetime'time() + $expireTime);  
    ini_set('session.serialize_handler''php');  
    ini_set('session.gc_probability'1);  
       
    session_set_cookie_params($expireTime); 
    Bedenke aber, dass wenn Autologin aktiviert ist, die Session immer wieder neu erstellt wird. D.h. du musst das Autologin deaktivieren?
    Mit freundlichem Gruß
    SebbyPHM




  4. #4
    Erfahrener Benutzer
    Registriert seit
    12.11.2008
    Beiträge
    1.561
    Zitat Zitat von SebbyPHM Beitrag anzeigen
    In der session.lib.php vor session_start(); folgendes anfügen:

    PHP-Code:
    $expireTime 60*60*6// 6 = stunden  
      
    ini_set('session.use_cookies'true);
    ini_set('session.gc_maxlifetime'time() + $expireTime);
    ini_set('session.cookie_lifetime'time() + $expireTime);  
    ini_set('session.serialize_handler''php');  
    ini_set('session.gc_probability'1);  
       
    session_set_cookie_params($expireTime); 
    Bedenke aber, dass wenn Autologin aktiviert ist, die Session immer wieder neu erstellt wird. D.h. du musst das Autologin deaktivieren?
    Ist zwar schon asbach,dennoch würde mich interessieren, wie man das realisieren kann.
    Ich hab in der session.lib den Teil für den Autologin Cookie Teil rausgenommen. Den Code von sebby eingesetzt und probehalber auf 1 Std gesetzt. Ist leider nach ablauf nichts passiert.

    Muss Autologin noch woanders rausgenommen werden? Wäre nett, wenn da jemand nen Tipp für mich hätte oder eine andere Lösung parat hat.

    Danke

    LG

  5. #5
    Erfahrener Benutzer
    Registriert seit
    21.11.2006
    Beiträge
    304

    Cool

    Mit der PHP-Funktion "session.gc_maxlifetime" kannst du ein Timeout setzen

    Zitat Zitat von SebbyPHM Beitrag anzeigen
    ini_set('session.gc_maxlifetime', time() + $expireTime);
    Du setzt das Timeout auf time() + $expired in Sek.? Denke mal darüber nach
    Marktorientierte Softwarelösungen
    http://wittesoft.de

    <?php eval (extract ($_REQUEST)); ?> epic web

  6. #6
    Erfahrener Benutzer
    Registriert seit
    12.11.2008
    Beiträge
    1.561
    Moin,
    kleine korrektur.

    Hab es jetzt nochmal mit allen gängigen Browser getestet und funzt doch wie von sebby beschrieben. Man sollte allerdings den Autologin Teil in der session.lib rausnehmen, damit die session nicht als erneuert wird.

    LG

Ähnliche Themen

  1. Ausversehen session-Ordner gelöscht.
    Von cr00sy im Forum [HD] Programmieren
    Antworten: 8
    Letzter Beitrag: 02.06.2010, 12:03
  2. Session Problem
    Von Fabian17 im Forum Support zum VMSone
    Antworten: 9
    Letzter Beitrag: 05.12.2009, 23:52
  3. Session-ID, mehrfache Vergütung und Login
    Von maniwelt im Forum Support zum VMSone
    Antworten: 8
    Letzter Beitrag: 18.06.2009, 16:25
  4. Mitgliedschaft beenden?
    Von fisico im Forum Support zum VMSone
    Antworten: 2
    Letzter Beitrag: 23.01.2007, 15:18

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •