Ich arbeite an einer Site für eine kleine (lese: & lt; 50 Benutzer) Nonprofit-Organisation, mit der ich arbeite und mein PHP-Wissen ist ziemlich begrenzt. Derzeit habe ich ein Login-Skript, das ich in einem Online-Tutorial gefunden habe. Das Problem ist, dass jeder Benutzer nach etwa einer Stunde ausgeloggt ist.
Sicherheit ist wirklich kein Problem mit dem Inhalt und im Idealfall möchte ich, dass jemand mehrere Tage oder Wochen eingeloggt bleibt. Jede Suche bei Google nach Sitzungslänge führt jedoch dazu, dass ich Leute, die den Abmelde-Timer kürzen möchten, vergesse.
Soweit der Code geht, vergleicht die Login-Seite Benutzername und Passwort mit der Datenbank und folgt mit:
%Vor%Und auf jeder geschützten Seite beginnt es mit:
%Vor%Angesichts Ihrer Frage und des Umfangs Ihrer Benutzerbasis würde ich mich für eine globale Einstellungsänderung entscheiden, anstatt zu versuchen, Sitzungsvariablen anzupassen. Es ist einfach, tut, was Sie brauchen und erfordert sehr wenig Aufwand für alle Benutzer.
Sie können die Lebensdauer Ihrer globalen Sitzung (wie in anderen Antworten beschrieben) mithilfe einer .htaccess
-Datei festlegen:
Oder Sie können es auch in Ihrer php.ini-Datei festlegen - ein Ausschnitt davon ist:
%Vor%Für nichts anderes als eine reine Referenz, die Werte, die Sie für die langfristige Müllsammlung berücksichtigen sollten:
%Vor% Sie können mehr über garbage-collection (gc) hier
Wenn Sie die standardmäßige cookiebasierte Sitzungsverwaltung von PHP verwenden (was ich Ihnen glaube, da Sie nichts über das Ändern der Funktionsweise der Standardsitzung erwähnt haben), können Sie Folgendes verwenden:
%Vor% session.gc*
Gruppe von ini-Werten werden ebenfalls für diesen Zweck verwendet, aber denken Sie daran, dass gc
nur dann empfiehlt, wenn die Sitzung als Garbage Collection behandelt werden sollte, und nicht wirklich bedeutet, dass es dann passieren wird.
Hier finden Sie Cookie-Parameter und Garbage Collection hier