Ich habe einige Nachforschungen zum Umgang mit PHP-Sitzungen angestellt und bin auf den session.gc_maxlifetime
Wert von 1440 Sekunden gestoßen. Ich habe mich gefragt, warum der Standardwert 1440 ist und wie er berechnet wird. Was ist die Basis für diese Berechnung?
Wie lange ist es sinnvoll, Sitzungen zu halten? Welche Min / Max-Werte für session.gc_maxlifetime würden Sie empfehlen? Je höher der Wert, desto anfälliger ist die Web-App für Session Hijacking, würde ich sagen.
+1
Gute Frage. Etwas im Zusammenhang mit, 60 x 12 x 2 ... Warten wir auf interessante Antworten ... :)1440
war in der Tat die ursprüngliche Anzahl von Minuten für das Timeout, also werden wir es wohl nie erfahren, wenn nicht jemand Sascha Schumann aufspürt.Antworten:
Die wirkliche Antwort liegt wahrscheinlich sehr nahe daran:
Während der PHP3-Tage hatte PHP selbst keine Sitzungsunterstützung.
Eine Open-Source-Bibliothek namens PHPLIB, die ursprünglich von Boris Erdmann und Kristian Koehntopp von der NetUSE AG geschrieben wurde, bot Sitzungen über PHP3-Code an.
Die Sitzungslebensdauer wurde in Minuten und nicht in Sekunden definiert. Die Standardlebensdauer betrug 1440 Minuten oder genau einen Tag. Hier ist die Codezeile von PHPLIB:
Sascha Schumann war zwischen 1998 und 2000 am PHPLIB-Projekt beteiligt. Zweifellos war er mit dem PHP3-Sitzungscode vertraut.
Dann kam PHP4 im Jahr 2000 mit nativer Sitzungsunterstützung heraus, aber jetzt wurde die Lebensdauer in Sekunden angegeben.
Ich wette, jemand hat sich nie die Mühe gemacht, Minuten in Sekunden umzuwandeln. Es ist wahrscheinlich, dass diese Person Sascha Schumann war. Sobald dieser Wert in der Zend-Engine codiert wurde, wurde er ebenfalls zum
php.ini
Standard für configuration ( ).quelle
1440 wird in einer Zeitberechnung verwendet, bei der Sekunden in Stunden / Tage umgewandelt werden.
Beispiel:
Das gleiche gilt umgekehrt:
quelle