Présentation des cookies
Tout d’abord, nous donnons une brève introduction aux cookies et expliquons comment utiliser ASP pour gérer les cookies.
Un cookie est un petit fichier stocké sur l'ordinateur du client, ce qui signifie que chaque fois qu'un utilisateur visite votre site, vous pouvez placer secrètement un fichier contenant des informations pertinentes sur son disque dur. Ce fichier peut contenir presque toutes les informations que vous souhaitez configurer, notamment des informations sur l'utilisateur, l'état du site, etc. Dans ce cas, il existe un danger potentiel : les informations pourraient être lues par des pirates informatiques. Pour éviter que ce problème ne se produise, un moyen efficace consiste à ce que le cookie ne soit accessible que par le domaine qui l'a créé. Cela signifie : par exemple, ytu.edu.cn ne peut accéder qu'aux cookies créés par ytu.edu.cn. D'une manière générale, cela ne pose pas de problème ; mais que se passe-t-il si vous avez besoin de partager des informations utilisateur stockées dans des cookies avec deux sites différents sur deux domaines différents ? Vous pouvez bien sûr choisir de copier les informations utilisateur, mais si vous en avez besoin, pouvez-vous uniquement le faire ? s'inscrire sur un site et devenir un utilisateur enregistré sur un autre site ? Ou, que se passe-t-il si les deux sites partagent une base de données d'utilisateurs et exigent que les utilisateurs se connectent automatiquement ? À l'heure actuelle, le partage de cookies entre domaines est la meilleure solution ?
Ici, examinons d'abord du code de traitement des cookies ASP pour une référence facile à l'avenir.
'Créer un cookie
Réponse.Cookies(MonCookie).Expires=Date+365
Réponse.Cookies(MyCookle).Domain=mydomaln.com
Response.Cookies(MyCookle)(Nom d'utilisateur)=strNom d'utilisateur
Response.Cookies(MyCookle)(Mot de passe)=strMot de passe
La lecture et l'écriture de cookies sont très simples. Le code ci-dessus crée un cookie et définit les propriétés du cookie : domaine, délai d'expiration et autres valeurs stockées dans le cookie. Ici, strUsename, strPassword sont des variables définies quelque part auparavant. Ensuite, lisez le cookie via la déclaration suivante.
'Lire le cookie
datExpDate=Request.Cookies(MonCookie)
strDomaln=Request.Cookies(MyCookle).Domain
strUsername=Request.Cookies(MyCookle)(Nom d'utilisateur)
strPassword=Request.Cookies(MonCookie)(Mot de passe)
Pour des informations plus détaillées, veuillez vous référer aux informations ASP.
accomplir
L'astuce pour simplement partager des cookies est la redirection, le processus général est le suivant :
1. Un utilisateur clique sur siteA.com.
2. Si l'utilisateur ne dispose pas de cookie pour siteA.com, redirigez l'utilisateur vers siteB.com.
3. Si l'utilisateur dispose d'un cookie pour siteB.com, redirigez-le vers siteA.com avec un indicateur spécial (expliqué ci-dessous), sinon redirigez simplement l'utilisateur vers siteA.com.
4. Créez un cookie sur siteA.com.
Cela semble simple, mais analysez-le attentivement : siteA.com et siteB.com partagent les mêmes paramètres utilisateur, donc si l'utilisateur dispose d'un cookie pour siteB.com (déjà enregistré), siteA.com peut également lire le cookie et fournir des autorisations en matière de cookies. caractéristiques. De cette façon, les utilisateurs qui visitent siteA.com sembleront avoir visité siteB.com.
Cette vérification doit être implémentée dans un fichier cookies.inc contenu dans siteA.com. Jetons un coup d'œil à ce code :
l-1
'SiteA.com vérifie les cookies
Si Request.Querystring(Checked)<>True alors
Si ce n’est pas Request.Cookies(SiteA_Cookie).Haskeys alors
'Redirection vers siteB.com
Réponse.Redlrect (http://www.siteB.com/cookie.asp)
Terminer si
Terminer si
Si l'utilisateur dispose d'un cookie pour siteA.com, rien ne doit être fait ; la première instruction if est utilisée pour éliminer la boucle infinie. Jetons un coup d'œil au fichier cookie.asp sur siteB.com pour mieux comprendre.
1-2
'SiteB.com
'Vérifier les cookies
Si ce n’est pas Request.Cookies(SlteB_Cookle).Haskeys alors
'Redirection vers siteA.com
Réponse.Redirect (http://www.siteA.com/index.asp&?checked=True)
Autre
'Obtenir le nom d'utilisateur
strUsername=Request.Cookies(SiteB_Cookie)(Nom d'utilisateur)
'Renvoie l'utilisateur vers siteA.com avec un indicateur spécial
Réponse.Redlrect(http://www.siteA.com/index.asp&?checked=True&identrfer=&strUsername)
Terminer si
Si l'utilisateur n'a toujours pas de cookie sur siteB.com, renvoyez-le sur siteA.com et faites savoir à l'application que vous avez vérifié le cookie en fournissant un paramètre appelé checkd dans la requête. Sinon, renvoyez l'utilisateur vers siteB.com et quittez la boucle.