Empfohlen: Analyse des Webstaatenmanagements des ASP -Anwendungsdesigns Viele Entwickler betrachten das Konzept des Staates nie, bevor sie Anwendungen für das Web übertragen. Wie bereits erwähnt, ist das Web eine staatenlose Umgebung. Daher sollten wir diskutieren, was der Staat ist, und die Methoden verstehen, die Probleme vermeiden können. Die genaue Definition des Status in einem einzelnen Benutzer
Lassen Sie uns zuerst über Sitzung sprechenDie Debatte über die Sitzung scheint nie aufgehört zu haben, aber mehr als 90 Personen, die die Sitzung verstehen können, sollten berücksichtigt werden.
Aber lassen Sie mich Ihnen sagen, sei nicht alt ~
Einige Leute stimmen der Sitzung zu, während andere nicht zustimmen. Aber was genau soll ich zu dieser Frage sagen? Warum nicht auf meine Meinung hören
Wenn es einen Fehler gibt, werfen Sie bitte keine Dinge auf den Punkt, außer Goldbars und Münzen.
Einige Leute sollten wissen, dass ich ein Mann bin, der in Jianghu -Programmen arbeitet, und was ich in Jianghu -Programmen schätze, ist Effizienz, aber hier spreche ich nicht über Design.
Schauen Sie sich die Sitzung aus weiteren praktischen Perspektiven an.
Zunächst müssen wir zuerst darüber sprechen, welche Sitzung die Sitzung mit einem bestimmten Benutzer und durch sie speichern kann
Jedes Fenster, das im vorderen Fenster geöffnet wird, verfügt über einen zielgerichteten Speicher -Speichermechanismus für Benutzerinformationen. Warum sagst du das? Schauen Sie sich die folgenden an
Erste Studie, wie die Sitzung begonnen wird.
und laden Sie die Berechtigungen für verschiedene Arten von Daten herunter, z. B. Bilder, Sounds und Blitz.
Der tatsächliche Inhalt der Datenübertragung: dh zum Server
Get / http / 1.1
Akzeptieren: Bild/GIF, Image/X-Xbitmap, Image/JPEG, Image/PJPEG, Application/X-Shockwave-Flash, */ *
Akzeptieren Sprache0: ZH-CN
Akzeptanzkodierung: Gzip, Deflate
Benutzer-Agent: Mozilla/4.0 (kompatibel; MSIE 5.01; Windows NT 5.0)
Host: www.jh521.com
Verbindung: Keep-Alive
Der Server gibt eine SessionID zurück, die nicht für den IE verwendet wird.
Und geben Sie die Download -Daten der relevanten Seite gleichzeitig wie folgt zurück: Server zu IE
HTTP/1.1 200 OK
Server: Microsoft-IIS/5.0
Datum: Sonne, 30. November 2003 16:41:51 GMT
Inhaltslänge: 21174..Content-Typ: Text/HTML
Set-Cookie: ASPSessionIDCACBBBRT = IBOMFONAOJFEBHBPIENJFFC;
Cache-Kontroll: Privat
Dann gibt es den HTML -Code von Seite HTML
Zu diesem Zeitpunkt ist die Sitzung dieses IE -Programms (nicht der Kunde) ibomfonaojfeebhbpienjffc
Und wenn der IE auf ein ASP -Programm auf dieser Website zugreift, wird Ibomfonaojfeebhbpienjffc gesendet
Geben Sie es dem Server, und der Server wird wissen, dass Ibomfonaojfeebhbpienjffc genau das Richtige für Sie ist
Setzen Sie die Sitzung (Name) = Name auf dem Server
Es kann als als
Sitzung (iBomfonaOjfeebHbpienjffc) (Name) = Name
oder
Sitzung (SessionID) (Name) = Name
Auf diese Weise unterscheidet die Sitzung Benutzer.
Wenn der Server diese ID feedbacks, wird prüfen, ob die ID verwendet wird. Wenn es eine Änderung gibt
Wie auch immer, Sie werden nicht wiederholt, es ist in Ordnung, die Sitzungs -ID einer Person zu simulieren, um zu betrügen. Aber zu bekommen
Der IE der anderen Partei überträgt ein Signal und kann nur implementiert werden, wenn die SessionID zu diesem Zeitpunkt nicht abgesagt wird.
Aber wenn ich diese Zeit hätte, würde ich ihn direkt feststellen und das Postsignal durchlaufen. Darüber muss ich mir keine Sorgen machen
Ich denke, einige Leute verstehen, wie Sessionid funktioniert
Dann schauen wir uns Cookie an.
Es gehört jedoch zu einem Arbeitsmodus, in dem Benutzer und Server private Daten übertragen
Wenn ich Cookie setze, fützt der Server eine Anweisung zu IE. Dh erzeugt Cookie über diese Netzwerkanweisung und
Speichern Sie diese Informationen zu einem bestimmten Zeitpunkt, beispielsweise beim Zugriff auf diese Website und Cookid ist gültig.
Warum also Cookie statt der Sitzung verwenden?
Sehen Sie den Unterschied
Gültige Zeit- und Speichermethode zum Übertragen von Inhalten
Cookie kann explizite Informationen lokal einstellen und behalten
Die Sitzung wird nicht im IE heruntergefahren, und der Server ist nicht nur eine Sitzung der SessionID ausgerichtet
Wenn Sie möchten, dass sich der Benutzer beim nächsten Mal bei der Website anmelden, müssen Sie keinen Benutzernamen oder ein Passwort eingeben, können Sie nur Cookie verwenden.
Weil er es ziemlich lange behalten kann (bevor der Cookie -Rekord gelöscht oder abgelaufen ist)
Die Sitzung ist jedoch nicht möglich, es wird es nicht zu lange halten, und der IE löscht den Sitzungsdatensatz automatisch, nachdem es geschlossen ist
Wenn Sie sich das nächste Mal anmelden, werden Sie eine neue Sitzung anfordern
Wenn der Server den Status des Benutzers über die persönliche Variable des Benutzers überprüfen möchte, kann er Cookie nicht verwenden
Wenn Sie Benutzerberechtigungen festlegen, ist es Benutzer. Wenn der IE zugreift, überträgt er den Benutzercode an den Server.
Was ist, wenn ich bestimmte Mittel verwende, z. B. direkt ändern und den Cookie -Datensatz und den Benutzer in Administrator ~~ ändern
Es ist problematisch.
Es ist jedoch am besten, Informationen wie Benutzername und Passwort oder Website -Farbschema zu speichern.
OK, ein bisschen müde, ich spreche darüber
Request.Servervariables (http_referer)
Ich denke, es gibt einige Leute, die diese Anfrage bestehen.Servervariables (http_referer)
Um einige wichtige Beschränkungen zu implementieren, insbesondere gegen Fernablösungen und illegale Übertretung.
Dann möchte ich den Server daran erinnern, dass die erhaltenen http_referer -Informationen durch den IE vollständig an den Server übertragen werden und simuliert werden können.
Und es ist nicht schwierig.
Teilen: ASP -Instanzcode: Langer Artikel Pagaging -Code -Einstellungsmethode Das Folgende ist der referenzierte Inhalt: <%Klasse ASPXSKY_PAGE Private sub class_initialize End Sub Public Function Alert (Messa