Ich versuche, Cookies und Sitzungen professionell zu verstehen. Ich weiß, dass wenn ein Browser eine Verbindung zu einem Server herstellt, der Server den Browser "auffordert", ein Cookie mit "phpsessid" in den Cookie-Ordner des Client-Browsers einzufügen.
Nachdem wir nun die "phpsessid" haben, sendet der Browser die "phpsessid" an den Server, wenn der Client den Server betritt, und der Server schaut sich den tmp-Ordner an. Wenn wir eine Übereinstimmung haben, lädt er alle Daten zurück, für die der Benutzer verfügt dieser Kunde, aber ich bin ein bisschen verwirrt mit dem Prozess.
Ich bin dankbar, wenn mir jemand helfen kann, die Prozesse zum Erstellen einer Sitzung und von Cookies zu verstehen - was hinter den Kulissen passiert.
javascript
php
session
cookies
Leertext
quelle
quelle
Antworten:
Lassen Sie uns das durchgehen:
Cookies und Sitzungen sind beide Möglichkeiten, um den Anwendungsstatus zwischen verschiedenen Anforderungen des Browsers beizubehalten. Ihnen ist es zu verdanken, dass Sie sich beispielsweise nicht jedes Mal anmelden müssen, wenn Sie eine Seite in StackOverflow anfordern.
Kekse
Cookies sind kleine Datenbits (maximal 4 KB lang), die Daten in einem Schlüssel-Wert-Paar enthalten:
name=value; name2=value2
Diese werden entweder über JavaScript oder über den Server mithilfe eines HTTP-Headers festgelegt .
Für Cookies ist ein Ablaufdatum festgelegt, beispielsweise mithilfe von HTTP-Headern:
Set-Cookie: name2=value2; Expires=Wed, 19 Jun 2021 10:18:14 GMT
Dies würde dazu führen, dass der Browser ein Cookie
name2
mit dem Wert " set" setztvalue2
, das in etwa 9 Jahren abläuft.Cookies gelten als sehr unsicher, da der Benutzer ihren Inhalt leicht manipulieren kann. Deshalb sollten Sie Cookie-Daten immer validieren . Gehen Sie nicht davon aus, dass das, was Sie von einem Cookie erhalten, unbedingt das ist, was Sie erwarten.
Cookies werden normalerweise verwendet, um den Anmeldestatus beizubehalten, wobei ein Benutzername und ein spezieller Hash vom Browser gesendet werden und der Server sie mit der Datenbank vergleicht, um den Zugriff zu genehmigen.
Cookies werden auch häufig bei der Erstellung von Sitzungen verwendet .
Sitzungen
Sitzungen sind etwas anders. Jeder Benutzer erhält eine Sitzungs-ID , die zur Überprüfung entweder per Cookie oder per GET-Variable an den Server zurückgesendet wird .
Sitzungen sind normalerweise nur von kurzer Dauer, was sie ideal zum Speichern des temporären Status zwischen Anwendungen macht. Sitzungen laufen auch ab, wenn der Benutzer den Browser schließt.
Sitzungen gelten als sicherer als Cookies, da die Variablen selbst auf dem Server gespeichert werden . So funktioniert das:
$_SESSION
Superglobal verfügbar sind.Wenn PHP keine Übereinstimmung findet, startet es eine neue Sitzung und wiederholt die Schritte 1-7.
Sie können vertrauliche Informationen in einer Sitzung speichern, da diese auf dem Server gespeichert sind. Beachten Sie jedoch, dass die Sitzungs-ID weiterhin gestohlen werden kann, wenn sich der Benutzer beispielsweise über ein unsicheres WLAN angemeldet hat. (Ein Angreifer kann die Cookies schnüffeln und als eigene festlegen. Er sieht die Variablen selbst nicht, aber der Server identifiziert den Angreifer als Benutzer.)
Das ist der Kern davon. Sie können mehr über das PHP-Handbuch zu beiden Themen erfahren.
quelle
hello.php?sid=cbe709ac7bed98f7ecb89713
)