In ASP-Anwendungen wird das Session-Objekt häufig zum Speichern der temporären privaten Daten des Benutzers verwendet. Das Session-Objekt von ASP basiert auf dem Cookie des Browsers. Wenn der Benutzer die Cookie-Option aus Sicherheitsgründen oder versehentlich deaktiviert, kann ASP nicht korrekt arbeiten Identifizieren Sie den Benutzer, was möglicherweise dazu führt, dass das Sitzungsobjekt nicht normal verwendet wird.
Um nachfolgende Programme korrekt auszuführen, müssen wir zunächst feststellen, ob das Client-Programm Cookies akzeptiert. Der Browser bietet jedoch keine Methode, um festzustellen, ob Cookies deaktiviert sind, daher müssen wir eine Möglichkeit finden, dies selbst zu testen.
Daher haben viele Entwickler ihre eigenen Methoden verwendet, um den Cookie-Status des Browsers zu testen. Die häufigste Methode besteht darin, ein Cookie auf einer Seite zu senden und dann zu testen, ob das Cookie auf einer anderen Seite vorhanden ist. Auf diese Weise benötigen wir zwei Asp-Anfragen.
Was ich hier vorstelle, ist eine Methode, die Serverskripte und Clientskripte kombiniert, um den Browserstatus sofort zu testen.
Wenn NetBox das ASP-Programm zum ersten Mal initialisiert, weist es ein neues Sitzungsobjekt zu und sendet ein Cookie mit dem Namen Application.ApplicationID an den Client. Wenn der Browser das Cookie akzeptiert, sendet er dieses Cookie beim nächsten Besuch zurück Wenn der Server dieses Cookie empfängt, wählt er das angegebene Sitzungsobjekt als Sitzungsobjekt für diese ASP-Anfrage aus, um die Einzigartigkeit und Beständigkeit des Sitzungsobjekts für den spezifischen Benutzer sicherzustellen.
Daraus wissen wir, dass wir feststellen können, ob das folgende Programm fortfahren kann, indem wir feststellen, ob der Browser das Cookie mit dem Namen Application.ApplicationID akzeptiert. Um festzustellen, ob der Browser ein Cookie enthält, können Sie das Cookie-Objekt des Browsers verwenden, um es zu vervollständigen. Der folgende Code dient zum Testen, ob der Browser die NetBox-Sitzung akzeptiert:
<html>
<Körper>
<Skriptsprache="javascript">
if(document.cookie.search("<%=Application.ApplicationID%>=") == -1)document.write("Nicht ");
</Script>Zulassen.
</body>
</html>
Die Voraussetzung dieses Codes besteht darin, den Namen des von NetBox gesendeten Cookies zu kennen. Wenn Sie diesen Code in iis verwenden möchten, ist dies schwieriger, da der Name des von iis gesendeten Cookies bei jedem Start anders ist. Daher können Sie zum Testen selbst ein Cookie senden und dann erneut testen:
<%Response .Cookie( "CookieCheck")="on"%>
<html>
<Körper>
<Skriptsprache="javascript">
if(document.cookie.search("CookieCheck=") == -1)document.write("Not");
</Script>Zulassen.
</body>
</html>