Heim > Backend-Entwicklung > PHP-Problem > So stellen Sie ein, dass die PHP-Anmeldung nach 3 Tagen abläuft

So stellen Sie ein, dass die PHP-Anmeldung nach 3 Tagen abläuft

PHPz
Freigeben: 2023-03-23 16:28:01
Original
1398 Leute haben es durchsucht

In der modernen Gesellschaft erfordern mit der rasanten Entwicklung des Internets immer mehr Anwendungen eine Anmeldung des Benutzers, bevor sie verwendet werden können. Eine der zentralen Fragen ist die Festlegung der Gültigkeitsdauer des Anmeldestatus. Wenn der Anmeldestatus über einen längeren Zeitraum gültig bleibt, erhöht sich das Sicherheitsrisiko erheblich. Wenn der Anmeldestatus zu schnell abläuft, führt dies zu Unannehmlichkeiten für den Benutzer. In diesem Artikel erfahren Sie, wie Sie die Gültigkeitsdauer des Anmeldestatus über PHP auf 3 Tage festlegen, um ein Gleichgewicht zwischen Sicherheit und Komfort zu erreichen.

Schauen wir uns zunächst an, warum wir die Gültigkeitsdauer des Anmeldestatus begrenzen müssen. Normalerweise wird nach der Anmeldung eines Benutzers bei einer Website oder Anwendung eine Sitzungs-ID (Sitzungs-ID) auf dem Server generiert und in einem Cookie auf dem Client gespeichert. Jedes Mal, wenn ein Benutzer eine Anfrage sendet, wird diese von dieser Sitzungs-ID begleitet. Mithilfe dieser ID kann der Server sicherstellen, dass die Anfrage von einem angemeldeten Benutzer stammt. Wenn kein Ablaufdatum festgelegt ist, bleibt der Anmeldestatus gültig, bis sich der Benutzer aktiv abmeldet oder das Cookie gelöscht wird. Wenn jemand auf diese Weise das Cookie des Benutzers auf irgendeine Weise erhält, kann er dieses Cookie verwenden, um eine Sitzung mit derselben Identität wie der Benutzer auf dem Server zu fälschen und so den vorhandenen Authentifizierungsmechanismus zu umgehen.

Um dieses Problem zu lösen, müssen wir die Gültigkeitsdauer des Anmeldestatus über das Programm begrenzen. In diesem Artikel verwenden wir den Sitzungsmechanismus von PHP, um dieses Ziel zu erreichen. Der Sitzungsmechanismus von PHP bedeutet, dass PHP automatisch ein Sitzungsobjekt auf dem Server erstellt und eine eindeutige Sitzungs-ID generiert, um den Sitzungsstatus des Benutzers zu verfolgen. Sitzungsdaten werden auf dem Server gespeichert und Benutzer müssen beim Zugriff die Sitzungs-ID angeben, um zuvor gespeicherte Daten zu erhalten. PHP speichert die Session-ID automatisch im Cookie des Clients.

Um den Gültigkeitszeitraum des Anmeldestatus festzulegen, können wir die Sitzungsablaufzeit in PHP ändern. Standardmäßig beträgt die Ablaufzeit der PHP-Sitzung 24 Minuten. Das heißt, wenn der Benutzer innerhalb von 24 Minuten keine Anfrage sendet, gilt die Sitzung als abgelaufen. Um die Ablaufzeit der Sitzung auf 3 Tage zu verlängern, müssen wir Änderungen in der PHP-Konfigurationsdatei php.ini vornehmen.

Zuerst müssen wir die Datei php.ini finden, die sich normalerweise im Pfad php.ini oder phpphp.ini im PHP-Installationsverzeichnis befindet. Nachdem Sie die Datei gefunden haben, fügen Sie am Ende der Datei den folgenden Code hinzu:

session.gc_maxlifetime = 259200
session.cookie_lifetime = 259200
Nach dem Login kopieren

Die Bedeutung des Codes besteht darin, die Ablaufzeit der Sitzung auf 259200 Sekunden, also 3 Tage, festzulegen. Gleichzeitig ist auch die Cookie-Ablaufzeit auf 3 Tage festgelegt, wodurch sichergestellt wird, dass Benutzer auch nach dem Schließen und erneuten Öffnen des Browsers eingeloggt bleiben können. Nachdem die Änderung abgeschlossen ist, müssen Sie den Webserver neu starten, damit die Konfiguration wirksam wird.

Zusätzlich zur globalen Festlegung der Sitzungsablaufzeit in php.ini können wir sie auch für eine bestimmte Sitzung im Programm festlegen. Hier ist ein Beispiel:

session_start();
$_SESSION['LAST_ACTIVE_TIME'] = time();
if (isset($_SESSION['LAST_ACTIVE_TIME']) && (time() - $_SESSION['LAST_ACTIVE_TIME'] > 259200)) {
    session_unset();
    session_destroy();
}
Nach dem Login kopieren

Der obige Code bedeutet, dass bei jeder Benutzeranfrage die aktuelle Zeit in einer Sitzungsvariablen mit dem Namen LAST_ACTIVE_TIME gespeichert wird. Wenn für die Sitzung mehr als 3 Tage lang keine Anfragen eingegangen sind, wird die Sitzung gelöscht, sodass der Anmeldestatus des Benutzers gelöscht wird.

Abschließend möchte ich Sie daran erinnern, dass die Festlegung der Gültigkeitsdauer des Anmeldestatus auf 3 Tage zwar die Sicherheit verbessern kann, Sie aber auch darauf achten sollten, den Benutzern keine Unannehmlichkeiten zu bereiten, weil die Zeit zu kurz ist. Daher müssen wir beim Schreiben von Programmen die Benutzererfahrung und Sicherheit umfassend berücksichtigen und entsprechende Strategien anwenden.

Das obige ist der detaillierte Inhalt vonSo stellen Sie ein, dass die PHP-Anmeldung nach 3 Tagen abläuft. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Verwandte Etiketten:
php
Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage