Inhaltsverzeichnis
Antwortinhalt:
SITZUNG – Daten werden mit hoher Sicherheit auf dem Server gespeichert. Auch ein Browserwechsel erfordert eine erneute Anmeldung. Denn auch die Cookies, auf die es zurückgreift, sind je nach Browser unterschiedlich.
Heim Backend-Entwicklung PHP-Tutorial PHP-Cookie und Sitzungsmechanismus

PHP-Cookie und Sitzungsmechanismus

Oct 11, 2016 pm 02:23 PM
cookie php session

Liebe Meister, ich war mir nie ganz im Klaren über Cookie- und Sitzungsmechanismen. Gibt es irgendwelche guten Informationen, aus denen ich lernen könnte

Antwortinhalt:

Liebe Meister, ich war mir nie ganz im Klaren über Cookie- und Sitzungsmechanismen. Gibt es irgendwelche guten Informationen, aus denen ich lernen könnte

Tatsächlich erhalten Sie viele Antworten, wenn Sie sich an Suchmaschinen wenden.
Wie können Sie dieses Problem lösen? Betätigungsmechanismus Sie werden es natürlich verstehen.

  1. Welche Probleme lösen Cookies und Sitzungen?

gleicht die inhärenten Mängel des HTTP-Protokolls aus, das zustandslos ist (es kann nicht erkennen, ob die vorherige Anfrage und die nächste Anfrage vom selben Benutzer stammen

).
  1. Wie löst man das Problem?

speichert einen key=>value-Wert auf der Serverseite und überträgt diesen key über ein Cookie. Jedes Mal, wenn der Client eine Anfrage stellt, wird dieser key an die Serverseite übermittelt, und der Server kann unterscheiden, ob der Die Anfrage kommt vom selben Benutzer.

Das Obige beantwortet einfach den Mechanismus von Cookie und Sitzung. Nach spezifischen Antworten können Sie mit diesen beiden Fragen suchen.

Bevor Sie ihre Implementierungsprinzipien verstehen, unterscheiden Sie zunächst die Rollen der beiden.

Cookie – eine Art zwischengespeicherter Daten, die im Browser vorhanden sind und vom Browser (in den Einstellungen) deaktiviert werden können. Wenn der Browser Cookies deaktiviert, sind die Cookies nicht verfügbar. Heutzutage schaltet im Allgemeinen niemand mehr Cookies aus.
Da Cookies vom Browser stammen, Im Grunde kann jeder Ihre Cookies ändern. Ist es sicher? Natürlich ist es nicht sicher. Wie können wir also in dieser Zeit sicher sein? Bitte verwenden Sie Session ausnahmslos.

Sitzung – Wie der Name schon sagt, „Sitzung“, wird sie auf dem Server gespeichert, was sich von Cookies unterscheidet, die im Browser des Benutzers gespeichert werden. Und es basiert auf Cookies. Wenn das Cookie ungültig ist, funktioniert die Sitzung nicht ordnungsgemäß. Weil Session seine Session_id in Cookie ablegt. Bei jeder Kommunikation mit dem Website-Server kann die serverseitige Programmiersprache die session_id im Cookie abrufen und die auf dem Server gespeicherten Sitzungsdaten lesen.
session_id ist eine sehr wichtige Sache. Was soll ich tun, wenn ich möchte, dass die Sitzung auch nach der Deaktivierung von Cookies weiterhin nützlich ist? Jede Anfrage enthält einen kv im Header, der die Sitzungs-ID bereitstellt. . . BLA BLA BLA. . . Ich glaube nicht, dass Sie das noch lernen müssen, es ist nur ein Exkurs.


COOKIE – Daten werden in dem aktuell vom Benutzer verwendeten Browser gespeichert (wechseln Sie einen Browser, und das vorherige COOKIE ist verschwunden), schwache Sicherheit

SITZUNG – Daten werden mit hoher Sicherheit auf dem Server gespeichert. Auch ein Browserwechsel erfordert eine erneute Anmeldung. Denn auch die Cookies, auf die es zurückgreift, sind je nach Browser unterschiedlich.

Als nächstes: Wie verwende ich Cookies und Sitzungen? Du kannst es lernen.

Sitzungen können basierend auf Cookies oder Get-Parametern implementiert werden, obwohl dies nicht sicher ist.
Sehen Sie sich das folgende Beispiel für die Verwendung einer MySQL-Speichertabelle zur Implementierung der Sitzungsspeicherung an, um die Beziehung zwischen Sitzung und Cookies grob zu verstehen

<code>CREATE TABLE sessions (
    user_id int(10) unsigned NOT NULL,
    session text NOT NULL,
    md5 char(32) NOT NULL,
    PRIMARY KEY (user_id)
) ENGINE=MEMORY DEFAULT CHARSET=utf8;
其中:
user_id存储的是用户ID,作为主键.
session存储的是用户的会话数组经过serialize或json_encode后的字符串.
md5存储的是session字段的MD5值,用于实现Check And Set版本号乐观锁:
--读取会话
SELECT session, md5 --写入会话时需要用到这里查出来的md5,就是下面的$last_md5
FROM sessions WHERE user_id = $user_id
--写入会话
UPDATE sessions
SET session = $str, md5 = md5($str)
WHERE user_id = $user_id 
AND md5 = $last_md5 --检查MD5,确保session字段没有被修改过</code>
Nach dem Login kopieren
Implementieren Sie einen benutzerdefinierten Cookie-Sitzungsmechanismus basierend auf der Datenbank.

Dieses Cookie muss nicht nur Benutzer authentifizieren, sondern darf auch nicht gefälscht und geknackt werden.

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

Heiße KI -Werkzeuge

Undresser.AI Undress

Undresser.AI Undress

KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover

AI Clothes Remover

Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool

Undress AI Tool

Ausziehbilder kostenlos

Clothoff.io

Clothoff.io

KI-Kleiderentferner

AI Hentai Generator

AI Hentai Generator

Erstellen Sie kostenlos Ai Hentai.

Heißer Artikel

R.E.P.O. Energiekristalle erklärten und was sie tun (gelber Kristall)
1 Monate vor By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Beste grafische Einstellungen
1 Monate vor By 尊渡假赌尊渡假赌尊渡假赌
Will R.E.P.O. Crossplay haben?
1 Monate vor By 尊渡假赌尊渡假赌尊渡假赌

Heiße Werkzeuge

Notepad++7.3.1

Notepad++7.3.1

Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version

SublimeText3 chinesische Version

Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1

Senden Sie Studio 13.0.1

Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6

Dreamweaver CS6

Visuelle Webentwicklungstools

SublimeText3 Mac-Version

SublimeText3 Mac-Version

Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

PHP 8.4 Installations- und Upgrade-Anleitung für Ubuntu und Debian PHP 8.4 Installations- und Upgrade-Anleitung für Ubuntu und Debian Dec 24, 2024 pm 04:42 PM

PHP 8.4 bringt mehrere neue Funktionen, Sicherheitsverbesserungen und Leistungsverbesserungen mit einer beträchtlichen Menge an veralteten und entfernten Funktionen. In dieser Anleitung wird erklärt, wie Sie PHP 8.4 installieren oder auf PHP 8.4 auf Ubuntu, Debian oder deren Derivaten aktualisieren. Obwohl es möglich ist, PHP aus dem Quellcode zu kompilieren, ist die Installation aus einem APT-Repository wie unten erläutert oft schneller und sicherer, da diese Repositorys in Zukunft die neuesten Fehlerbehebungen und Sicherheitsupdates bereitstellen.

So richten Sie Visual Studio-Code (VS-Code) für die PHP-Entwicklung ein So richten Sie Visual Studio-Code (VS-Code) für die PHP-Entwicklung ein Dec 20, 2024 am 11:31 AM

Visual Studio Code, auch bekannt als VS Code, ist ein kostenloser Quellcode-Editor – oder eine integrierte Entwicklungsumgebung (IDE) –, die für alle gängigen Betriebssysteme verfügbar ist. Mit einer großen Sammlung von Erweiterungen für viele Programmiersprachen kann VS Code c

7 PHP-Funktionen, die ich leider vorher nicht kannte 7 PHP-Funktionen, die ich leider vorher nicht kannte Nov 13, 2024 am 09:42 AM

Wenn Sie ein erfahrener PHP-Entwickler sind, haben Sie möglicherweise das Gefühl, dass Sie dort waren und dies bereits getan haben. Sie haben eine beträchtliche Anzahl von Anwendungen entwickelt, Millionen von Codezeilen debuggt und eine Reihe von Skripten optimiert, um op zu erreichen

Wie analysiert und verarbeitet man HTML/XML in PHP? Wie analysiert und verarbeitet man HTML/XML in PHP? Feb 07, 2025 am 11:57 AM

Dieses Tutorial zeigt, wie XML -Dokumente mit PHP effizient verarbeitet werden. XML (Extensible Markup-Sprache) ist eine vielseitige textbasierte Markup-Sprache, die sowohl für die Lesbarkeit des Menschen als auch für die Analyse von Maschinen entwickelt wurde. Es wird üblicherweise für die Datenspeicherung ein verwendet und wird häufig verwendet

Erklären Sie JSON Web Tokens (JWT) und ihren Anwendungsfall in PHP -APIs. Erklären Sie JSON Web Tokens (JWT) und ihren Anwendungsfall in PHP -APIs. Apr 05, 2025 am 12:04 AM

JWT ist ein offener Standard, der auf JSON basiert und zur sicheren Übertragung von Informationen zwischen Parteien verwendet wird, hauptsächlich für die Identitätsauthentifizierung und den Informationsaustausch. 1. JWT besteht aus drei Teilen: Header, Nutzlast und Signatur. 2. Das Arbeitsprinzip von JWT enthält drei Schritte: Generierung von JWT, Überprüfung von JWT und Parsingnayload. 3. Bei Verwendung von JWT zur Authentifizierung in PHP kann JWT generiert und überprüft werden, und die Funktionen und Berechtigungsinformationen der Benutzer können in die erweiterte Verwendung aufgenommen werden. 4. Häufige Fehler sind Signaturüberprüfungsfehler, Token -Ablauf und übergroße Nutzlast. Zu Debugging -Fähigkeiten gehört die Verwendung von Debugging -Tools und Protokollierung. 5. Leistungsoptimierung und Best Practices umfassen die Verwendung geeigneter Signaturalgorithmen, das Einstellen von Gültigkeitsperioden angemessen.

PHP -Programm zum Zählen von Vokalen in einer Zeichenfolge PHP -Programm zum Zählen von Vokalen in einer Zeichenfolge Feb 07, 2025 pm 12:12 PM

Eine Zeichenfolge ist eine Folge von Zeichen, einschließlich Buchstaben, Zahlen und Symbolen. In diesem Tutorial wird lernen, wie Sie die Anzahl der Vokale in einer bestimmten Zeichenfolge in PHP unter Verwendung verschiedener Methoden berechnen. Die Vokale auf Englisch sind a, e, i, o, u und sie können Großbuchstaben oder Kleinbuchstaben sein. Was ist ein Vokal? Vokale sind alphabetische Zeichen, die eine spezifische Aussprache darstellen. Es gibt fünf Vokale in Englisch, einschließlich Großbuchstaben und Kleinbuchstaben: a, e, ich, o, u Beispiel 1 Eingabe: String = "TutorialPoint" Ausgabe: 6 erklären Die Vokale in der String "TutorialPoint" sind u, o, i, a, o, ich. Insgesamt gibt es 6 Yuan

Erklären Sie die späte statische Bindung in PHP (statisch: :). Erklären Sie die späte statische Bindung in PHP (statisch: :). Apr 03, 2025 am 12:04 AM

Statische Bindung (statisch: :) implementiert die späte statische Bindung (LSB) in PHP, sodass das Aufrufen von Klassen in statischen Kontexten anstatt Klassen zu definieren. 1) Der Analyseprozess wird zur Laufzeit durchgeführt.

Was sind PHP Magic -Methoden (__construct, __Destruct, __call, __get, __set usw.) und geben Sie Anwendungsfälle an? Was sind PHP Magic -Methoden (__construct, __Destruct, __call, __get, __set usw.) und geben Sie Anwendungsfälle an? Apr 03, 2025 am 12:03 AM

Was sind die magischen Methoden von PHP? Zu den magischen Methoden von PHP gehören: 1. \ _ \ _ Konstrukt, verwendet, um Objekte zu initialisieren; 2. \ _ \ _ Destruct, verwendet zur Reinigung von Ressourcen; 3. \ _ \ _ Call, behandeln Sie nicht existierende Methodenaufrufe; 4. \ _ \ _ GET, Implementieren Sie den dynamischen Attributzugriff; 5. \ _ \ _ Setzen Sie dynamische Attributeinstellungen. Diese Methoden werden in bestimmten Situationen automatisch aufgerufen, wodurch die Code -Flexibilität und -Effizienz verbessert werden.

See all articles