Heim > Artikel > Backend-Entwicklung > Cookie und Sitzung zur PHP-Sitzungssteuerung
PHP-Sitzungssteuerung: Sitzung und Cookie detaillierte Erklärung, Sitzung Cookie
1. Was ist Sitzung? Kontrolle
HTTP ist ein zustandsloses Protokoll. Es verfügt nicht über einen integrierten Mechanismus, um den Zustand zwischen zwei Transaktionen aufrechtzuerhalten. Wenn ein Benutzer eine Seite und dann eine andere anfordert, kann uns HTTP nicht mitteilen, dass beide Anfragen vom selben Benutzer stammen.
Die Idee der Sitzungssteuerung besteht darin, Benutzer anhand einer Sitzung auf der Website verfolgen zu können, sodass die Benutzeranmeldung problemlos unterstützt und entsprechende Inhalte entsprechend ihrer Berechtigungsstufe und ihren persönlichen Vorlieben angezeigt werden können Auf Basis einer Sitzungssteuerung kann dieses Nutzerverhalten erfasst und auch ein Warenkorb implementiert werden.
2. Verstehen Sie die grundlegenden Sitzungsfunktionen
PHP-Sitzungen werden durch eine eindeutige Sitzungs-ID gesteuert, bei der es sich um eine verschlüsselte Zufallszahl handelt. Es wird von PHP generiert und während des Lebenszyklus der Sitzung auf dem Client gespeichert. Es kann in einem Cookie auf dem Computer des Benutzers gespeichert oder über die URL an das Netzwerk weitergeleitet werden.
Die Sitzungs-ID ist wie ein Schlüssel, der es uns ermöglicht, einige spezifische Variablen zu registrieren, die auch zu Sitzungsvariablen werden. Der Inhalt dieser Variablen wird serverseitig gespeichert. Die Sitzungs-ID ist die einzige für den Client sichtbare Information. Wenn der Client die Sitzungs-ID über ein Cookie oder eine URL während eines bestimmten Website-Links sehen kann, können wir auf die Sitzungsvariablen zugreifen, die für diese Sitzung auf dem Server gespeichert sind. Standardmäßig werden Sitzungsvariablen in normalen Dateien auf dem Server gespeichert.
Speichern Sie die Sitzungs-ID in der URL. Wenn die URL eine Folge von Zufallszahlen enthält, handelt es sich möglicherweise um eine Form der Sitzungssteuerung.
Cookies sind eine andere Lösung als Sitzungen und lösen auch das Problem, den Status über mehrere Transaktionen hinweg aufrechtzuerhalten und gleichzeitig eine saubere URL aufrechtzuerhalten.
Sitzungssteuerungsprozess: Wenn sich ein Benutzer anmeldet oder zum ersten Mal eine Seite einer Website durchsucht, generiert die Website eine PHP-Sitzungs-ID und sendet sie über ein Cookie an den Client (Browser). Wenn der Benutzer auf eine andere Seite der Website klickt, beginnt der Browser, eine Verbindung zu dieser URL herzustellen. Bevor eine Verbindung hergestellt wird, sucht der Browser zunächst nach lokal gespeicherten Cookies. Wenn Cookies im Zusammenhang mit der zu verbindenden URL vorhanden sind, werden diese an den Server übermittelt. Gerade beim ersten Anmelden oder Herstellen einer Verbindung wurde ein Cookie generiert, das sich auf die URL der Website (gespeicherte Sitzungs-ID) bezieht. Wenn sich der Benutzer also erneut mit dieser Website verbindet, kann die Website den Benutzer anhand dieser Sitzungs-ID identifizieren. Die dieser Sitzungs-ID zugeordnete Sitzungsvariable wird aus der Sitzungsdatei des Servers abgerufen, um die Kontinuität zwischen Transaktionen aufrechtzuerhalten.
3. Was sind Cookies?
Cookies werden auf der Serverseite erstellt und an den Client-Browser zurückgeschrieben. Der Browser erhält die Anweisung zum Schreiben von Cookies im Antwortheader und speichert sie lokal temporäre Datei. Es wird eine Cookie-Datei erstellt, die Ihren Cookie-Inhalt speichert. Der Cookie-Inhalt wird in Schlüssel-Wert-Paaren gespeichert, und sowohl der Schlüssel als auch der Wert können nur Zeichenfolgen sein.
Ein Cookie ist eigentlich eine kleine Information, die durch ein Skript auf dem Client-Computer gespeichert werden kann. Ein Cookie kann auf dem Client-Computer gesetzt werden, indem ein HTTP-Header mit bestimmten Daten im folgenden Format gesendet wird:
Set-Cookie: NAME = VALUE;] [path=PATH ] [domain =DOAMIN_NAME;] [sicher]
Dadurch wird ein Cookie namens NAME mit dem Wert VALUE erstellt. Mit Ausnahme dieses Parameters sind alle anderen Parameter optional. Das Feld „expires“ legt das Ablaufdatum des Cookies fest (wenn das Ablaufdatum nicht festgelegt ist, bleibt es für immer gültig, sofern es nicht manuell gelöscht wird). Die Pfad- und Domänenfelder werden kombiniert, um eine URL oder eine Cookie-bezogene URL zu formulieren. Das Schlüsselwort secure bedeutet, dass Cookies bei normalen HTTP-Verbindungen nicht aktiviert werden.
Wenn der Browser eine Verbindung zu einer URL herstellt, sucht er zunächst nach lokal gespeicherten Cookies. Wenn mit der zu verbindenden URL Cookies verknüpft sind, übermittelt der Browser diese an den Server.
4. Was ist Sitzung
Sitzung ist ein serverseitiger Speicherplatz, der vom Anwendungsserver verwaltet wird. Wenn ein Benutzer eine Verbindung zum Server herstellt, wird vom Server eine eindeutige Sitzungs-ID erstellt und generiert -Side-Session-Speicherplatz Während der Sitzung wird die dem Client zugewiesene eindeutige Sitzungs-ID verwendet, um den aktuellen Benutzer zu identifizieren und ihn von anderen Benutzern zu unterscheiden. Akzeptieren Sie jede Zugriffsanfrage über SessionID, um den aktuellen Benutzer zu identifizieren, die spezifischen Informationen des Benutzers und Sitzungsvariablen zu verfolgen und zu verwalten, die numerische oder Textinformationen in der Sitzung speichern können. Diese Informationen werden auf der Serverseite gespeichert. Selbstverständlich kann die Sitzungs-ID auch als Sitzungsinformation zur Sitzungspersistenz in der Datenbank gespeichert werden. Dies kann die Anzahl der Benutzeranmeldungen, online oder nicht, die Online-Zeit usw. verfolgen und so die Beziehung zwischen zustandslosen HTTP-Dingen aufrechterhalten. Der Inhalt der Sitzung ist eine Liste von Schlüssel-Wert-Paaren, und der Schlüssel ist ein Zeichenfolgentyp. Die Speicherung der Sitzung ist bequemer und der Wert kann ein Objekt sein.
Während der Sitzung wird die Sitzung in zwei Dateien auf dem Client bzw. dem Server gespeichert. Der Client kann die Sitzungs-ID im Cookie-Modus (der Standardspeichermethode) speichern oder in Form einer URL-Zeichenfolge übergeben . Die Serverseite wird im Allgemeinen in Textform im angegebenen Sitzungsverzeichnis gespeichert. Auf der Serverseite können wir über session.use_cookies steuern, welche Speichermethode der Client verwendet. Wenn es als Cookie-Speichermethode definiert ist, können wir die Gültigkeitsdauer des auf dem Client gespeicherten Cookies über session.cookie_lifetime steuern (Standardwert 0, wird beim Schließen des Browsers gelöscht). Wenn der Client ein Cookie zum Speichern der Sitzungs-ID verwendet, verwenden Sie zum Speichern ein „temporäres“ Cookie (der Name des Cookies lautet PHPSESSID. Weitere Informationen dazu erhalten Sie über Firebug. Sie können den Namen über die php.ini-Sitzung ändern. Wenn der Benutzer die Seite übermittelt, wird diese Sitzungs-ID an den Server übermittelt, um auf die Sitzungsdaten zuzugreifen. Dieser Prozess erfordert kein Eingreifen des Entwicklers.
5. Unterschiede und Zusammenhänge zwischen SESSION und COOKIE
Ähnliche Punkte: Beide können das Problem der HTTP-Zustandslosigkeit lösen, sodass derselbe Client bei mehreren Anfragen zum Besuch der Website Daten speichern kann. Informationen festlegen und Verbindungen zwischen angeforderten Dingen herstellen.
Unterschied: Einfach ausgedrückt werden Cookie-Informationen auf der Clientseite und Sitzungsinformationen auf der Serverseite gespeichert.
Die Sitzung verwendet Schlüssel-Wert-Paare, was bedeutet, dass die ID auf der Clientseite gespeichert wird und der Wert auf der Serverseite verwendet wird, um den entsprechenden Wert auf dem Server zu finden Auf diese Weise wird der Wert auf der Serverseite platziert. Es gibt ein Zeitlimit und der Server wird ihn automatisch recyceln/freigeben, wenn die Zeit abgelaufen ist.
Cookies haben zwei Methoden: Eine Methode besteht darin, den Wert in der Variablen des Browsers zu speichern und zu beenden, wenn der Browser geschlossen wird. Die andere Methode besteht darin, ihn auf der Festplatte zu speichern, solange die Zeit nicht abläuft. Weiter Wiederverwendbar.
Kontakt: Wenn der Client die basierend auf der Cookie-Methode gespeicherte SessionID verwendet, wird die SessionID im Allgemeinen im Cookie gespeichert.
Hinweis: Cookies werden von Browsern mit demselben Kern gemeinsam genutzt. Browser mit unterschiedlichen Kernen werden nicht gemeinsam genutzt, wie z. B. Firefox und IE (die Speicherorte sind unterschiedlich und werden natürlich nicht gemeinsam genutzt). Browser mit unterschiedlichen Kerneln können keine Cookies teilen und generieren auch unterschiedliche Sitzungs-IDs.
Das Obige ist eine detaillierte Erklärung der PHP-Sitzungssteuerung. Ich hoffe, es wird Ihnen hilfreich sein.
Verwandte Empfehlungen:
PHP-Sitzungssteuerung: Detaillierte Erklärung von Sitzung und Cookie, Sessioncookie
PHP-Sitzungssteuerung, PHP-Sitzung
Detaillierte Einführung in den Beispielcode der PHP-Sitzungssteuerung
PHP-Sitzungssteuerungs-Cookie und Sitzungsverarbeitung_PHP-Tutorial
Das obige ist der detaillierte Inhalt vonCookie und Sitzung zur PHP-Sitzungssteuerung. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!