Brauchen Sie Hilfe, damit eine PHP-Login-Sitzung länger dauert

8

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%     
scott.j.lockhart 26.04.2013, 02:26
quelle

3 Antworten

7

Bearbeiten Sie Ihre .htaccess und setzen Sie etwas wie folgt:

%Vor%

2000 ist in Sekunden. Entsprechend einstellen! Dadurch wird der Sitzungs-Garbage Collector angewiesen, die Sitzung für 2000 Sekunden nicht zu zerstören. Session_register ist veraltet.

    
ChrisG 26.04.2013, 02:29
quelle
6

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:

%Vor%

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 .

    
nickhar 26.04.2013 02:38
quelle
4

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

    
raidenace 26.04.2013 02:35
quelle

Tags und Links