Dans les applications asp, l'objet Session est souvent utilisé pour enregistrer les données privées temporaires de l'utilisateur. L'objet Session d'asp s'appuie sur le cookie du navigateur. Si l'utilisateur désactive l'option Cookie pour des raisons de sécurité ou par inadvertance, asp ne pourra pas le faire correctement. Identifiez l'utilisateur, ce qui finit par empêcher l'utilisation normale de l'objet Session.
Pour exécuter correctement les programmes suivants, nous devons d'abord identifier si le programme client accepte les cookies. Cependant, le navigateur ne fournit pas de méthode pour identifier si les cookies sont désactivés, nous devons donc trouver un moyen de le tester nous-mêmes.
De nombreux développeurs ont utilisé leurs propres méthodes pour tester l'état des cookies du navigateur. La méthode la plus courante consiste à envoyer un cookie sur une page, puis à tester si le cookie existe sur une autre page. De cette façon, nous avons besoin de deux requêtes asp.
Ce que je présente ici est une méthode qui combine des scripts serveur et des scripts clients pour tester simultanément l'état du navigateur.
Lorsque NetBox initialise le programme asp pour la première fois, il allouera un nouvel objet Session et enverra un cookie nommé Application.ApplicationID au client si le navigateur accepte le cookie, il renverra ce cookie lors de la prochaine visite de NetBox. le serveur reçoit ce cookie, il sélectionnera l'objet Session spécifié comme objet Session pour cette requête ASP afin de garantir l'unicité et la persistance de l'objet Session pour l'utilisateur spécifique.
De là, nous savons que nous pouvons déterminer si le programme suivant peut continuer en déterminant si le navigateur accepte le cookie nommé Application.ApplicationID. Pour déterminer si le navigateur contient un cookie, vous pouvez utiliser l'objet cookie du navigateur pour le compléter. Le code suivant permet de tester si le navigateur accepte la session NetBox :
<html>
<corps>
<Langage de script="javascript">
if(document.cookie.search("<%=Application.ApplicationID%>=") == -1)document.write("Not ");
</Script>Autoriser.
</corps>
</html>
Le principe de ce code est de connaître le nom du cookie envoyé par NetBox. Si vous souhaitez utiliser ce code dans iis, c'est plus difficile car le nom du cookie envoyé par iis est différent à chaque démarrage. Par conséquent, pour tester, vous pouvez envoyer un cookie vous-même puis tester à nouveau :
<%Response. .Cookie( "CookieCheck")="on"%>
<html>
<corps>
<Langage de script="javascript">
if(document.cookie.search("CookieCheck=") == -1)document.write("Not ");
</Script>Autoriser.
</corps>
</html>