Heim  >  Artikel  >  Backend-Entwicklung  >  Was ist der Unterschied zwischen Cookie und Sitzung in PHP?

Was ist der Unterschied zwischen Cookie und Sitzung in PHP?

青灯夜游
青灯夜游Original
2021-12-02 18:10:355606Durchsuche

Unterschied: 1. Cookies werden im Browser gespeichert, was relativ unsicher ist, während Sitzungen auf dem Server gespeichert werden, was relativ sicherer ist. 2. Für die von Cookies gespeicherten Daten gelten Mengen- und Größenbeschränkungen, für Sitzungen jedoch keine. 3. Die vom Cookie gespeicherten Daten sind vom Typ String und die von der Sitzung gespeicherten Daten vom Typ Objekt.

Was ist der Unterschied zwischen Cookie und Sitzung in PHP?

Die Betriebsumgebung dieses Tutorials: Windows 7-System, PHP-Version 7.1, DELL G3-Computer

Ob es sich um Systembetrieb und -wartung oder um Interviews mit PHP-Entwicklern handelt, wir werden oft nach der Rolle von Session und gefragt Cookie in PHP der Unterschied? Fassen wir es unten zusammen:

Cookies werden nur vom Client generiert, verwaltet und verwendet. PHP gibt dem Client lediglich Anweisungen, wie Cookies generiert werden sollen, wann sie ablaufen usw., aber der Client befolgt möglicherweise nicht unbedingt die Anweisungen von PHP.

Cookies sind nicht sehr sicher. Kriminelle können Cookie-Spoofing betreiben, indem sie lokale Cookies analysieren. Aus Sicherheitsgründen wird empfohlen, wichtige Benutzerinformationen in der Sitzung zu speichern. Andere unwichtige Informationen, die aufbewahrt werden müssen, können in Cookies gespeichert werden.

Sitzung ist die Sitzung vom Aufrufen einer Website bis zum Schließen des Browsers. Sie wird standardmäßig in Form einer Datei auf der Serverfestplatte gespeichert. Daher kann das Festlegen zu vieler Sitzungen die Leistung der Festplatte beeinträchtigen Verwenden Sie auch die Speicher-Engine, um sie in MySQL zu speichern, da die Speicher-Engine über schnelle Lese- und Schreibgeschwindigkeiten verfügt. Jetzt können Sie auch die Verwendung von Redis für die Verarbeitung der Sitzung festlegen, was schneller und effizienter ist.

Der Sitzungswiederherstellungsmechanismus ist im Allgemeinen passiv. Sobald der Browser geschlossen ist, wird die Sitzung jedoch manchmal nicht gelöscht, selbst wenn die Ablaufzeit festgelegt ist. Wenn Sie beispielsweise mehrere Verzeichnisse festlegen und mehrere Sitzungen hierarchisch speichern, müssen Sie die Sitzung manuell über ein PHP-Skript löschen.

Normalerweise sind Cookies und Sitzungen gebunden, das heißt, wenn der Benutzer Cookies nicht deaktiviert, speichert das Cookie im Allgemeinen die Sitzungs-ID und den Sitzungslebenszyklus. Wenn der Benutzer das Cookie löscht, verlässt er normalerweise das System Deaktiviert Cookies nicht und schließt die Browsersitzung. Wenn dies fehlschlägt, müssen Sie sich erneut am System anmelden.

Cookies und Sitzungen werden im Allgemeinen verwendet, um Benutzer zu identifizieren, Berechtigungen zu authentifizieren, einfache Daten zu speichern und Cookies zu verwenden, um Single Sign-On zu erreichen.

Für die von Cookies gespeicherten Daten gelten in verschiedenen Browsern unterschiedliche Einschränkungen. Im Allgemeinen wird die Anzahl der Cookie-Variablen unter demselben Domänennamen auf 20 und die Wertgröße jedes Cookies auf 4 KB begrenzt. Es gibt keine Begrenzung für die Größe oder Anzahl der Sitzungswerte. Wenn jedoch zu viele vorhanden sind, erhöht sich der Druck auf den Server. Darüber hinaus ist der von Cookie gespeicherte Inhalt ein String, während die von Session gespeicherten Daten ein Objekt sind.

Session kann Pfade nicht unterscheiden, während derselbe Benutzer eine Website besucht, und wenn Pfadparameter in Cookies festgelegt sind, kann auf Cookies unter verschiedenen Pfaden auf derselben Website nicht zugegriffen werden.

Der Unterschied zwischen COOKIE und SESSION

(1) Speicherort: Cookies werden im Client-Browser gespeichert, was relativ unsicher ist; die Datei mit dem Sitzungsinhalt wird auf dem Server gespeichert, normalerweise im tmp-Ordner unter Stammverzeichnis. Relativ sicherer.

(2) Mengen- und Größenbeschränkungen: Für die von Cookies gespeicherten Daten gelten in verschiedenen Browsern unterschiedliche Einschränkungen. Im Allgemeinen wird unter demselben Domänennamen die Anzahl der Cookie-Variablen innerhalb von 20 und die Größe jedes Cookie-Werts gesteuert innerhalb von 4kb. Es gibt keine Begrenzung hinsichtlich der Größe oder Anzahl der Sitzungswerte. Wenn jedoch zu viele vorhanden sind, erhöht sich der Druck auf den Server.

(3) Inhaltsunterschied: Der vom Cookie gespeicherte Inhalt ist eine Zeichenfolge, während die von der Sitzung auf dem Server gespeicherten Daten ein Objekt sind.

(4) Pfadunterschied: Während des Besuchs desselben Benutzers auf einer Website kann auf alle Sitzungen überall zugegriffen werden. Wenn der Pfadparameter im Cookie festgelegt ist, werden verschiedene Pfade auf derselben Website angezeigt Jeder ist für den anderen unzugänglich.

Empfohlenes Lernen: „PHP-Video-Tutorial

Das obige ist der detaillierte Inhalt vonWas ist der Unterschied zwischen Cookie und Sitzung in PHP?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
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