In diesem Artikel werden hauptsächlich das Funktionsprinzip, der Unterschied und die Verwendung von Sitzung und Cookie sowie die Vor- und Nachteile bei der Verwendung vorgestellt. Durch die Auflistung der Unterschiede und Prinzipien können die Leser die Beziehung zwischen den beiden besser verstehen siehe weiter
Cookie-Konzept
Beim Surfen auf bestimmten Websites speichern diese Websites einige Daten auf dem Client, um deren Nutzung zu verfolgen Die Website. Benutzer, implementieren Sie benutzerdefinierte Funktionen
Ob die Ablaufzeit festgelegt werden soll:
Wenn die Ablaufzeit nicht festgelegt ist, bedeutet dies, dass der Lebenszyklus dieses Cookies bleibt während der Browsersitzung bestehen, solange der Browser geschlossen wird und das Cookie verschwindet.
Dieses Cookie, dessen Lebensdauer die Browsersitzung beträgt, ist ein Sitzungscookie.
Im Allgemeinen im Speicher gespeichert, nicht auf der Festplatte ; Wenn eine Ablaufzeit festgelegt ist, speichert der Browser die Cookies auf der Festplatte. Wenn Sie den Browser schließen und erneut öffnen, sind diese Cookies weiterhin gültig bis die eingestellte Ablaufzeit überschritten ist; Auf der Festplatte gespeicherte Cookies können an verschiedenen Orten gespeichert werden, die von Browserprozessen gemeinsam genutzt werden, z. B. von zwei IE-Fenstern.
Verschiedene Browser verfügen über unterschiedliche Verarbeitungsmethoden für im Speicher gespeicherte Cookies.
Grundsatz:
Wenn der Browser Cookies verwendet, werden alle Daten browserseitig gespeichert, Zum Beispiel nach dem Login die Servereinstellungen Cookie-Benutzername (Benutzername). Wenn Sie den Server erneut anfordern, sendet der Browser den Benutzernamen an den Server. Diese Variablen haben bestimmte spezielle Markierungen.
Der Server interpretiert es als Cookie-Variable. Solange der Browser nicht geschlossen ist, ist die Cookie-Variable immer gültig, sodass sichergestellt werden kann, dass die Verbindung nicht für längere Zeit unterbrochen wird.
Wenn Sie die Cookie-Variable eines Benutzers abfangen und dann ein Datenpaket fälschen und weiterleiten können, wird der Server Sie immer noch für legitim halten. Daher ist die Wahrscheinlichkeit eines Angriffs durch Cookies relativ hoch.
Wenn die Gültigkeitsdauer festgelegt ist, wird das Cookie auf der Festplatte des Clients gespeichert. Beim nächsten Besuch der Website prüft der Browser zunächst, ob ein Cookie vorhanden ist . Dann an den Server gesendet.
Wenn Sie ein Forum-Cookie auf Ihrem Computer speichern, beträgt die Gültigkeitsdauer ein Jahr. Wenn jemand in Ihren Computer eindringt, Ihr Cookie kopiert und es im Verzeichnis seines Browsers ablegt, meldet er sich auf der Website an Sie melden sich mit Ihrer Identität an.
So können Cookies gefälscht werden.
Natürlich braucht man beim Fälschen ein paar Ideen, kopiert die Cookie-Datei direkt in das Cookie-Verzeichnis, der Browser erkennt sie nicht,
Er hat eine index.dat-Datei, die den Erstellungszeitpunkt der Cookie-Datei speichert und ob es geändert wurde. Sie müssen also zuerst die Cookie-Datei der Website haben und den Browser zum garantierten Zeitpunkt täuschen.
Ich habe einmal ein Experiment im VBB-Forum der Schule durchgeführt und die Cookies anderer Leute kopiert rein und vorgetäuscht, die Namen anderer Leute zu verwenden, um einen Beitrag zu posten, überhaupt kein Problem.
Cookie-Nutzung:
setcookie("user","zy",time()+3600); 设置user为zy,一小时之后失效; $_COOKIE['user']; 取回user值(名字) setcookie("user","",time()-3600); 删除cookie,第二个参数为空,第三个时间设置为小于系统的当前时间即可.
Oder stellen Sie es in Ihrem Browser ein
Bei der Verwendung von Cookies generiert das Cookie automatisch eine Textdatei und speichert diese im temporären Cookie-Ordner des IE-Browsers. Die spezifischen Schritte zum Löschen der Cookie-Datei mit dem Browser sind > IE-Browserbefehl, öffnen Sie das Dialogfeld „Internetoptionen“,
> Klicken Sie auf der Registerkarte „Allgemein“ auf die Schaltfläche „Cookie löschen“ und klicken Sie im Popup-Dialogfeld auf die Schaltfläche „OK“, um alle Cookie-Dateien erfolgreich zu löschen >
Das Konzept der Sitzung
Sitzung ist eine HashTable-ähnliche Struktur, die auf der Serverseite gespeichert wird (die Implementierung jeder Webentwicklungstechnologie kann unterschiedlich sein, ist also unterschiedlich (direkt unten HashTable genannt) Zum Speichern von Benutzerdaten; Funktion:
Prinzip:
Wenn ein Benutzer eine Asp.net-Seite anfordert, erstellt das System beim Beenden der Anwendung oder beim Herunterfahren des Servers automatisch eine Sitzung wird widerrufen. Wenn das System eine Sitzung erstellt, weist es eine lange Zeichenfolgenkennung zu, um die Sitzung zu verwalten und zu verfolgen.Der Sitzungsmechanismus ist ein serverseitiger Mechanismus. Der Server verwendet eine Struktur ähnlich einer Hash-Tabelle (oder verwendet möglicherweise eine Hash-Tabelle), um Informationen zu speichern.
Speichern:Es wird im Speicherprozess des Serversegments gespeichert, und dieser Prozess ist ziemlich instabil und wird häufig neu gestartet. Wenn er neu gestartet wird, wird die Sitzung ungültig und der Benutzer muss sich erneut anmelden , wenn der Benutzer die Informationen ausfüllt, läuft die Sitzung ab, wenn sie endet, und springt direkt zur Anmeldeseite:
Wenn das Programm eine Sitzung für eine Client-Anfragesitzung erstellen muss, prüft der Server zunächst, ob die Anfrage des Clients eine Sitzungskennung (Sitzungs-ID genannt) enthält. Wenn diese enthalten ist, bedeutet dies, dass eine Sitzung vorliegt wurde bereits zuvor für diesen Client erstellt und der Server folgt der Sitzungs-ID. Rufen Sie diese Sitzung mit der ID ab.... Verwenden Sie (falls nicht abgerufen, wird eine neue erstellt),
Wenn der Client dies anfordert Enthält nicht die Sitzungs-ID. Erstellen Sie eine Sitzung für den Client und generieren Sie eine Sitzung mit dieser Sitzung. Die zugehörige Sitzungs-ID.
Der Wert der Sitzungs-ID sollte eine Zeichenfolge sein, die sich weder wiederholt noch leicht zu findende Muster aufweist Diese Sitzungs-ID wird in dieser Antwortspeicherung an den Client zurückgegeben.
(Zusammenfassung: Beim Erstellen einer Sitzung prüft der Server, ob der Client die Sitzungskennung enthält. Wenn ja, ruft er die Sitzung anhand der Sitzungs-ID ab, andernfalls muss er eine neue erstellen.)
Im Allgemeinen bieten Browser zwei Möglichkeiten zum Speichern, die andere kann vom Programmierer angepasst werden Die Implementierung mithilfe versteckter HTML-Felder:
[1] Die Verwendung von Cookies zum Speichern ist die häufigste Methode, auf der die Implementierung der Funktion „Meinen Anmeldestatus merken“ basiert diese Methode.Der Server sendet die Session-ID an den Browser, indem er ein Cookie setzt.
Wenn wir diese Ablaufzeit nicht festlegen, wird dieses Cookie nicht auf der Festplatte gespeichert. Beim Schließen des Browsers verschwindet das Cookie und die Sitzungs-ID geht verloren.
Wenn wir diese Zeit auf eine Anzahl von Tagen einstellen, wird dieser Cookie auf der Festplatte des Clients gespeichert. Auch wenn der Browser geschlossen ist, bleibt dieser Wert bestehen Wenn Sie die entsprechende Website das nächste Mal besuchen, wird diese an den Server gesendet.
[2] Die Methode zur Verwendung von URL-Zusatzinformationen ist die gleiche, da wir häufig JSP-Websites mit aaa.jsp?JSESSIONID=* sehen. Diese Methode ist dieselbe wie die erste Methode, bei der die Cookie-Ablaufzeit nicht festgelegt ist. (URL-Umschreiben bedeutet, dass die Sitzungs-ID direkt an das Ende des URL-Pfads angehängt wird.)
[3] Die dritte Möglichkeit besteht darin, dem Seitenformular ein ausgeblendetes Feld hinzuzufügen. Die erste Methode ist eigentlich dieselbe wie die zweite Methode, mit der Ausnahme, dass erstere Daten über GET sendet und letztere POST zum Senden von Daten verwendet. Aber letzteres ist offensichtlich problematischer.