Login-Timeout konfigurieren

Backend / Adminbereich, Tipps, Anleitungen & eBooks Kommentar schreiben

Wem ist das nicht auch schon mal passiert: Man pflegt Daten im Backend des Shops ein, das Telefon klingelt bevor man gespeichert hat … Telefonat beendet, Session beendet (automatischer Logout), alle Eingaben sind sehr zum Frust des Abgelenkten verloren gegangen …

Mir persönlich sind vier Wege bekannt, wie man das Problem des Login-Timeouts umgehen bzw. verhindern kann.

1.) Bearbeiten der php.ini
Diese Methode setzt voraus, dass man Zugriff auf die php.ini hat. Das ist bei den meisten Hostingpaketen jedoch nicht möglich.

Um die Lebenszeit der Session zu erhöhen, müssen Sie in der php.ini folgende Parameter Ihren Vorstellungen entsprechend anpassen:

session.gc_maxlifetime = 1440 session.cookie_lifetime = 0

Hier steht die 0 bei cookie_lieftime für “unendlich” (wenn die Session über Cookies abgewickelt wird). session.gc_lifetime legt fest, wann die Session als “Abfall” deklariert und entsorgt werden (“gc” = “Garbage collection”). In diesem Beispiel ist dies nach 1440 Sekunden der Fall.

Nachdem Sie die Parameter angepasst haben, müssen Sie den Webserver-Dienst neu starten (Apache, IIS etc.).

Quelle: http://www.bluegate.at/tutorials-faqs/x … igurieren/

2.) Lösung per PHP-Funktion ini_set()
Bei manchen Providern ist es nicht möglich, die php.ini selbstständig zu ändern. In diesem Fall empfehle ich zuerst den Provider um die Änderung zu ersuchen. Sollte diese nicht möglich sein, können Sie die Lebenszeit der Session auch über die PHP Funktion ini_set() während der Laufzeit festlegen (Details zu ini_set() finden Sie unter http://www.php.net/ini_set).

Fügen Sie den Aufruf der ini_set Funktion in ein File ein, dass in jede Seite des Shop-Systems eingebunden wird (z.B. application_header.php).

Quelle: http://www.bluegate.at/tutorials-faqs/x … igurieren/

3.) Lösung per .htaccess
Im Rootverzeichnis in die bestehende htaccess-Datei folgendes einfügen bzw. eine neue anlegen

php_value session.gc_maxlifetime 6000

Die 6000 Sekunden (=30 Minuten) kann man frei wählen. Anders als in der php.ini darf davor kein Gleichheitszeichen stehen, sonst gibt es einen internen Server Error.

Quelle / Autor: terrenal

4.) Lösung für Firefox-User per Plugin
Wem all die vorgenannten Lösungen zu aufwendig, unbequem oder what ever sind, dem sei folgendes Plugin für den Firefox empfohlen:

Tab Mix Plus (TMP)

Neben vielen nützlichen Features bietet das Plugin eine Funktion, die – entsprechend eingestellt – in einem frei wählbaren Zeitraum alle angezeigten Seiten aktualisiert und dadurch als netten Nebeneffekt das automatische Logout unterbindet. Eine Lösung für Pragmatiker: quick & dirty.

Dateigröße 22,9 KiB - Downloads bisher 1.552
  login_timeout_konfigurieren.zip

 

Weitere Beiträge, die Dich interessieren könnten

4 Kommentare bei “Login-Timeout konfigurieren”

  1. Sven Thiele

    ^^ Hast n kleinen Rechenfehler. 6000 Sekunden sind keine 30 Minuten, sondern 60 Minunten :P

    Aber Danke genau das ist unser Problem!

  2. Hetfield

    Soso … 6000 Sekunden sind keine 30 Minuten sondern 60 Minuten … und ich dachte immer eine Minute hätte 60 Sekunden, also 60 Sekunden = 1 Minute, 600 Sekunden = 10 Minuten und 6000 Sekunden = 100 Minuten … ;-)

    MfG Hetfield 8)

  3. Teide

    in admin/includes/functions/session.php kann man auch folgendes ändern:
    Zeile 19

        $SESS_LIFE = 6000;
    	// if (!$SESS_LIFE = get_cfg_var('session.gc_maxlifetime')) {
    	// $SESS_LIFE = 1440;
    	// }
  4. Thorsten

    Hallo zusammen,
    weiß jemand, wie ich dem Kunden die Zeit anzeigen lassen kann bis der automatische logout erfolgt? Also ich möchte gerne dem Kunden in einer Infobox anzeigen lassen, wann er automatisch abgemeldet wird..
    Danke
    Thorsten

Kommentar schreiben

Hier findest Du Platz für Deine Meinung, Dein Lob, Deine Kritik. Bitte nutze diese Funktion nicht für Supportanfragen! Wenn Du Fragen zu Modulen, Fehlermeldungen oder ähnliches hast, bist Du in unserem eCommerce-Forum herzlich willkommen.

© 2005 - 2015 by xtc-load.de