Author Topic: php.ini --> Automatischer Logout?  (Read 503 times)

Offline Concilla

  • Posts: 115
php.ini --> Automatischer Logout?
« on: May 18, 2021, 11:22:42 AM »
Hallo Website Baker,

könnte mir jemand von Euch sagen, welche Einstellung in der php.ini für den automatischen Logout des CMS verantwortlich ist? Wenn ich am WB z.B. 10 nichts gemacht habe, werde ich automatisch ausgeloggt.
 
Vielen Dank im Voraus für Eure Mühe.

Gruß von Concilla

Offline Luisehahne

  • WebsiteBaker Org e.V.
  • **
  • Posts: 4442
  • Gender: Male
Re: php.ini --> Automatischer Logout?
« Reply #1 on: May 19, 2021, 12:06:08 PM »
suche nach session.gc_maxlifet ime=1440
; After this number of seconds, stored data will be seen as 'garbage' and
; cleaned up by the garbage collection process.
; https://php.net/session.gc-maxlifetime
session.gc_maxlifet ime=1440

Dietmar
Note: Once the code has been generated, it is easy to debug. It's not a bug, it's a feature!

Offline Concilla

  • Posts: 115
Re: php.ini --> Automatischer Logout?
« Reply #2 on: May 19, 2021, 12:19:50 PM »
Vielen Dank, Dietmar. Der Wert liegt da auch bei 1440. Komisch, dass man sich aber das ständig neu einloggen muss. Auf einem anderen Server, der von Strato betrieben wird, findet man den selben Wert, man wird jedoch nicht so oft ausgeloggt.

Offline Luisehahne

  • WebsiteBaker Org e.V.
  • **
  • Posts: 4442
  • Gender: Male
Re: php.ini --> Automatischer Logout?
« Reply #3 on: May 19, 2021, 05:35:47 PM »
Ein bisschen gegoogelt und das gefunden
Quote
Das Verhalten der PHP-Session hängt von vielen Faktoren ab.
Primär gilt da erst einmal die "session.cookie_life time". Die bestimmt, wie lange ein Cookie gültig ist.
Also wenn die bspw. auf 3600 gestellt ist, dann läuft deine Session in einer Stunde ab.
Das bedeutet, dein Browser wird das Cookie nach einer Stunde wegschmeissen - das bedeutet aber nicht, dass sie danach ungültig ist!
Also wenn ich an deine Session-ID rankomme (was natürlich dank https nicht möglich ist, deswegen nutzen wir das ja), dann kann ich das Cookie auch 4h später mitschicken und die Session wäre immer noch gültig - sofern sie nicht gelöscht wurde.
Und hier kommen wir dann zum Löschen/Aufräumen abgelaufener Sessions.
Den Prozess nennt man Garbage Collection (das ist ein üblicher Begriff in der Software Entwicklung) - daher die Abkürzung "GC" bei diversen Einstellungsmöglich keiten.

Wann die noch existierenden Sessions tatsächlich aufgeräumt werden, hängt davon ab, wie die Garbage Collection eingestellt ist.
PHP räumt automatisch ab und zu auf. Ab und zu bezieht sich dabei auf das Zusammenspiel von "session.gc_probabil ity" und "session.gc_divisor".
So dass eben nicht bei jedem Request aufgeräumt wird (aus Performance-Gründen).

Das alles lässt sich konfigurieren, aber auch komplett deaktivieren und z.B. über Cronjobs lösen (damit nie was im Webprozess geschieht).
Ausserdem haben die Parameter unterschiedliche Bedeutung, je nach dem welcher "session.save_handle r" verwendet wurde.
Der "session.save_handle r" ist im Prinzip einfach eine Abstraktion, um Session-Daten von verschiedenen Backends zu laden bzw. zu speichern. Standard ist eben "files", also auf dem Dateisystem.
Aber wenn der Hoster möchte, könnte er was eigenes implementieren bei sich. Eigene Session Save Handler sind in C geschrieben und werden als Modul zu PHP dazu geladen.

Aber die entsprechend korrekte Konfiguration ist Aufgabe des Hosters. Generell wird er sicher nicht Sessions für 30 Stunden aktiv lassen, das macht auch keinen Sinn.
Und wie und wann er die veralteten Sessions aufräumen möchte, bleibt ebenfalls ihm überlassen.

Auch ein Thema womit ich mich intensiver mit beschäftigen muss

Dietmar
Note: Once the code has been generated, it is easy to debug. It's not a bug, it's a feature!

Offline Concilla

  • Posts: 115
Re: php.ini --> Automatischer Logout?
« Reply #4 on: May 20, 2021, 08:09:25 AM »
Ok, vielen Dank für die Info. Das liegt dann wohl außerhalb meines Bereiches  :-D

 

postern-length