Heim > Web-Frontend > js-Tutorial > Hauptteil

Lassen Sie Sie den Unterschied und die Verwendung von Sitzung und Cookie verstehen (Bild- und Text-Tutorial)

亚连
Freigeben: 2018-05-19 09:45:53
Original
3662 Leute haben es durchsucht

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,第二个参数为空,第三个时间设置为小于系统的当前时间即可.
Nach dem Login kopieren

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:

Um die Datenübertragung zwischen Webseiten zu realisieren, handelt es sich um eine Sammlung von Objekten, die auf der Serverseite gespeichert sind.

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.)

Die Client-Implementierungsform der Sitzung (d. h. die Methode zum Speichern der Sitzungs-ID):

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.

Ausgeblendetes Formularfeld bedeutet, dass der Server das Formular automatisch ändert und ein ausgeblendetes Feld hinzufügt, sodass die Sitzungs-ID beim Absenden des Formulars an den Server zurückgegeben werden kann. Zum Beispiel:

🎜> & lt; input type = "text" & gt; & lt;/form & gt; Tatsächlich kann diese Technologie einfach durch die ACTION-Anwendungs-URL ersetzt werden.



Sitzungsnutzung:

Starten Sie, bevor Sie Benutzerinformationen in der Sitzung speichern;
session_start(); Sitzung starten
$_SE SSION['user'] = "zy"; Benutzernamen festlegen

Unset($_SESSION['user']); Cookies und Sitzungen:


                                                                                                                                                                                                                                       

Vereinfacht ausgedrückt: Wenn der Webserver eine Sitzung verwendet, werden alle Daten auf dem Server gespeichert.
Der Client sendet jedes Mal die aktuelle Sitzung, wenn er den Server anfordert , ermittelt der Server das entsprechende Benutzerdatenflag basierend auf der aktuellen session_id, um festzustellen, ob der Benutzer angemeldet ist oder über bestimmte Berechtigungen verfügt.
Da die Daten auf dem Server gespeichert werden, können Sie sie nicht fälschen. Wenn Sie jedoch die Sitzungs-ID eines angemeldeten Benutzers erhalten, können Sie die Anfrage des Benutzers auch mithilfe eines speziellen Browsers erfolgreich fälschen.
Die Sitzungs-ID wird zufällig zugewiesen, wenn der Server und der Client verbunden sind. Bei einer großen Anzahl gleichzeitiger Anforderungen besteht jedoch die Möglichkeit einer Duplizierung.
Wenn ich mich auf einer Website anmelde, werden zunächst meine eigenen Informationen angezeigt. Nach einer gewissen Zeit läuft die Anzeige ab, und wenn ich sie aktualisiere, werden tatsächlich die Informationen anderer Personen angezeigt.

Sitzung ist ein serverseitiger Speicherplatz, der vom Anwendungsserver verwaltet wird. Wenn der Benutzer eine Verbindung zum Server herstellt, wird vom Server eine eindeutige Sitzungs-ID generiert, die als Kennung für den Zugriff auf den Server verwendet wird -seitiger Sitzungsspeicherplatz. Die SessionID-Daten werden auf dem Client gespeichert und mit Cookie gespeichert. Wenn der Benutzer die Seite übermittelt, wird die SessionID an den Server übermittelt, um auf die Sitzungsdaten zuzugreifen. Dieser Prozess erfordert kein Eingreifen des Entwicklers. Sobald der Client also Cookies deaktiviert, wird auch die Sitzung ungültig.

2 Andere können die lokal gespeicherten Cookies nicht analysieren und aus Sicherheitsgründen Cookies verwenden.

3 Die Sitzung wird für einen bestimmten Zeitraum auf dem Server gespeichert. Wenn der Zugriff zunimmt, wird die Leistung Ihres Servers stärker beansprucht. Um die Serverleistung zu verringern, sollten Sie COOKIE verwenden.

4 Die von einem einzelnen Cookie gespeicherten Daten dürfen 4K nicht überschreiten. Viele Browser beschränken die Speicherung auf bis zu 20 Cookies. (Sitzungsobjekte haben keine Begrenzung hinsichtlich der gespeicherten Datenmenge und können komplexere Datentypen speichern)

Hinweis:

Sitzungen können leicht fehlschlagen, und zwar für den Benutzer Erfahrung ist sehr schlecht Schlecht;

Obwohl Cookies nicht sicher sind, können sie verschlüsselt werden;

Cookies werden auch in permanente und temporäre Cookies unterteilt;

Browser haben ein Cookie-Verbot Funktion, aber die meisten Benutzer werden nicht festgelegt.

Stellen Sie sicher, dass die Ablaufzeit eingestellt wird, da sie sonst verschwindet, wenn der Browser geschlossen wird.

Zum Beispiel:

Die Funktion „Passwort merken“ besteht darin, ein permanentes Cookie zu verwenden, das auf dem Client-Computer geschrieben wird. Wenn Sie sich das nächste Mal anmelden, werden die Cookie-Informationen automatisch an den Server gesendet.

Bei der Anwendung handelt es sich um globale Informationen, die von allen Benutzern geteilt werden. Sie kann beispielsweise aufzeichnen, wie viele Benutzer sich auf dieser Website angemeldet haben, und diese Informationen allen Benutzern anzeigen.

Der größte Unterschied zwischen den beiden ist der Lebenszyklus. Der eine ist vom IE-Start bis zum Herunterfahren des IE (sobald die Browserseite geschlossen wird, verschwindet)

Der andere ist der voreingestellte Lebenszyklus oder dauerhafte Speicherung lokaler Dateien. (Cookie)

Das Obige habe ich für Sie zusammengestellt. Ich hoffe, es wird Ihnen in Zukunft hilfreich sein.

Verwandte Artikel:

nodejsDetaillierte Erläuterung der Schritte zum Herstellen einer Verbindung mit der MySQL-Datenbank

zum KnotenWie können Passwörter in js verschlüsselt werden?

vue verarbeitet die von Store erhaltenen Datenjs

Das obige ist der detaillierte Inhalt vonLassen Sie Sie den Unterschied und die Verwendung von Sitzung und Cookie verstehen (Bild- und Text-Tutorial). Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Verwandte Etiketten:
Quelle:php.cn
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
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage
Über uns Haftungsausschluss Sitemap
Chinesische PHP-Website:Online-PHP-Schulung für das Gemeinwohl,Helfen Sie PHP-Lernenden, sich schnell weiterzuentwickeln!