<

In diesem Tutorial erfahren Sie, wie Sie bestimmte Daten vorübergehend mit PHP session auf dem Server speichern.

Was ist eine Sitzung

Sie können zwar Daten mithilfe von Cookies speichern, haben jedoch einige Sicherheitsprobleme. Da Cookies auf dem Computer des Benutzers gespeichert werden, kann ein Angreifer auf einfache Weise einen Cookie-Inhalt ändern, um potenziell schädliche Daten in Ihre Anwendung einzufügen, die Ihre Anwendung beschädigen könnten.,

Auch jedes Mal, wenn der Browser eine URL an den Server anfordert, werden alle Cookie-Daten für eine Website automatisch an den Server innerhalb der Anfrage gesendet. Wenn Sie also 5 Cookies auf dem System des Benutzers mit einer Größe von jeweils 4 KB gespeichert haben, muss der Browser jedes Mal, wenn der Benutzer eine Seite aufruft, 20 KB Daten hochladen, was sich auf die Leistung Ihrer Website auswirken kann.

Sie können beide Probleme mithilfe der PHP-Sitzung lösen. Eine PHP-Sitzung speichert Daten auf dem Server und nicht auf dem Computer des Benutzers., In einer sitzungsbasierten Umgebung wird jeder Benutzer über eine eindeutige Nummer namens Session Identifier oder SID identifiziert. Diese eindeutige Sitzungs-ID wird verwendet, um jeden Benutzer mit seinen eigenen Informationen auf dem Server wie E-Mails, Posts usw. zu verknüpfen.

Tipp: Die Sitzungs-IDs werden zufällig von der PHP-Engine generiert, was fast unmöglich zu erraten ist. Da die Sitzungsdaten auf dem Server gespeichert sind, müssen sie nicht bei jeder Browseranforderung gesendet werden.,

Starten einer PHP-Sitzung

Bevor Sie Informationen in Sitzungsvariablen speichern können, müssen Sie zuerst die Sitzung starten. Um eine neue Sitzung zu starten, rufen Sie einfach die Funktion PHP session_start() auf. Es wird eine neue Sitzung erstellt und eine eindeutige Sitzungs-ID für den Benutzer generiert.

Der PHP-Code im folgenden Beispiel startet einfach eine neue Sitzung.,

Beispiel

Download

<?php// Starting sessionsession_start();?>

Die session_start() Funktion prüft zunächst, ob eine Sitzung bereits vorhanden ist, indem Sie nach dem Vorhandensein einer Sitzungs-ID sucht. Wenn es eine findet, dh wenn die Sitzung bereits gestartet wurde, werden die Sitzungsvariablen eingerichtet, und wenn nicht, wird eine neue Sitzung gestartet, indem eine neue Sitzungs-ID erstellt wird.

Hinweis: Sie müssen die Funktion session_start() am Anfang der Seite aufrufen, dh, vor jeder Ausgabe, die von Ihrem Skript im Browser generiert wird, ähnlich wie beim Setzen der Cookies mit der Funktion setcookie().

Speichern und Aufrufen von Sitzungsdaten

Sie können alle Ihre Sitzungsdaten als Schlüssel-Wert-Paare im superglobalen Array $_SESSION speichern. Auf die gespeicherten Daten kann während der Lebensdauer einer Sitzung zugegriffen werden. Betrachten Sie das folgende Skript, das eine neue Sitzung erstellt und zwei Sitzungsvariablen registriert.,

Um von jeder anderen Seite derselben Webdomäne aus auf die Sitzungsdaten zuzugreifen, die wir in unserem vorherigen Beispiel festgelegt haben, erstellen Sie die Sitzung einfach neu, indem Sie session_start() aufrufen und dann übergeben Sie den entsprechenden Schlüssel an das assoziative Array $_SESSION.

Der PHP-Code im obigen Beispiel erzeugt die folgende Ausgabe.

Hi, Peter Parker

Hinweis: Um auf die Sitzungsdaten auf derselben Seite zuzugreifen, muss die Sitzung nicht neu erstellt werden, da sie bereits oben auf der Seite gestartet wurde.,

Sitzung zerstören

Wenn Sie bestimmte Sitzungsdaten entfernen möchten, deaktivieren Sie einfach den entsprechenden Schlüssel des assoziativen Arrays $_SESSION, wie im folgenden Beispiel gezeigt:

Um eine Sitzung vollständig zu zerstören, rufen Sie einfach die Funktion session_destroy() auf. Diese Funktion benötigt kein Argument und ein einzelner Aufruf zerstört alle Sitzungsdaten.,

Beispiel

Download

<?php// Starting sessionsession_start(); // Destroying sessionsession_destroy();?>

Hinweis: Bevor Sie eine Sitzung mit dersession_destroy() – Funktion zerstören, müssen Sie zuerst die Sitzungsumgebung neu erstellen, wenn sie noch nicht vorhanden ist, indem Sie diesession_start() Funktion, so dass es etwas zu zerstören.

Jede PHP-Sitzung hat einen Timeout-Wert-eine Dauer, gemessen in Sekunden -, der bestimmt, wie lange eine Sitzung ohne Benutzeraktivität am Leben bleiben soll., Sie können diese Zeitüberschreitungsdauer anpassen, indem Sie den Wert der Variablen session.gc_maxlifetime in der PHP-Konfigurationsdatei ändern (php.ini).

<

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.