Introducción de cookies
Primero, damos una breve introducción a las cookies y explicamos cómo utilizar ASP para mantener las cookies.
Una cookie es un pequeño archivo almacenado en la computadora del cliente, lo que significa que cada vez que un usuario visita su sitio, puede colocar secretamente un archivo que contiene información relevante en su disco duro. Este archivo puede contener casi cualquier información que desee configurar, incluida información del usuario, estado del sitio y más. En este caso, existe un peligro potencial: los piratas informáticos pueden leer la información. Para evitar que este problema ocurra, una forma efectiva es que solo el dominio que la creó pueda acceder a la cookie. Esto significa: por ejemplo, ytu.edu.cn solo puede acceder a las cookies creadas por ytu.edu.cn. En términos generales, esto no es un problema; pero ¿qué sucede si necesita compartir la información del usuario almacenada en las cookies con dos sitios diferentes en dos dominios diferentes? Por supuesto, puede optar por copiar la información del usuario, pero si es necesario, ¿solo puede hacerlo? registrarse en un sitio y convertirse en un usuario registrado de otro sitio? ¿O qué pasa si los dos sitios comparten una base de datos de usuarios y requieren que los usuarios inicien sesión automáticamente? En este momento, compartir cookies entre dominios es el mejor plan de solución.
Aquí, veamos primero algunos códigos de procesamiento de cookies ASP para facilitar su consulta en el futuro.
'Crear galleta
Respuesta.Cookies(MiCookie).Expira=Fecha+365
Respuesta.Cookies(MiCookle).Dominio=midominio.com
Response.Cookies(MyCookle)(Nombre de usuario)=strNombre de usuario
Respuesta.Cookies(MiCookle)(Contraseña)=strContraseña
Leer y escribir cookies es muy simple. El código anterior crea una cookie y establece propiedades para la cookie: dominio, tiempo de vencimiento y otros valores almacenados en la cookie. Aquí, strUsename, strPassword son variables establecidas en algún lugar antes. Luego, lea la cookie a través de la siguiente declaración.
'Leer galleta
datExpDate=Solicitud.Cookies(MiCookie)
strDomaln=Solicitud.Cookies(MiCookle).Dominio
strUsername=Solicitud.Cookies(MiCookle)(Nombre de usuario)
strContraseña=Solicitud.Cookies(MiCookie)(Contraseña)
Para obtener información más detallada, consulte la información de ASP.
lograr
El truco para simplemente compartir cookies es la redirección, el proceso general es:
1. Un usuario hace clic en siteA.com.
2. Si el usuario no tiene una cookie para el sitioA.com, redirija al usuario al sitioB.com.
3. Si el usuario tiene una cookie para siteB.com, redirija al usuario nuevamente a siteA.com junto con una marca especial (que se explica a continuación); de lo contrario, simplemente redirija al usuario a siteA.com.
4. Cree una cookie en siteA.com.
Parece simple, pero analícelo con atención: siteA.com y siteB.com comparten la misma configuración de usuario, por lo que si el usuario tiene una cookie para siteB.com (ya registrada), siteA.com también puede leer la cookie y otorgar permisos para cookies. características. De esta manera, parecerá que los usuarios que visitan siteA.com han visitado siteB.com.
Esta verificación debe implementarse en un archivo cookies.inc contenido en siteA.com. Echemos un vistazo a este código:
l-1
'SiteA.com comprueba las cookies
Si Request.Querystring(Checked)<>True entonces
Si no es Request.Cookies(SiteA_Cookie).Haskeys entonces
'Redirigir a sitioB.com
Respuesta.Redlrect(http://www.siteB.com/cookie.asp)
terminar si
terminar si
Si el usuario tiene una cookie para siteA.com, no es necesario hacer nada; se utiliza la primera declaración if para eliminar el bucle infinito. Echemos un vistazo al archivo cookie.asp en siteB.com para comprenderlo mejor.
1-2
'SitioB.com
'Comprueba las cookies
Si no es Request.Cookies(SlteB_Cookle).Haskeys entonces
'Redirigir a sitioA.com
Respuesta.Redirect(http://www.siteA.com/index.asp&?checked=True)
Demás
'Obtener nombre de usuario
strUsername=Solicitud.Cookies(SiteB_Cookie)(Nombre de usuario)
'Devuelve al usuario a siteA.com con una bandera especial
Respuesta.Redlrect(http://www.siteA.com/index.asp&?checked=True&identrfer=&strUsername)
terminar si
Si el usuario aún no tiene una cookie en siteB.com, envíelo de regreso a siteA.com e informe a la aplicación que ha verificado la cookie proporcionando un parámetro llamado checkd en la consulta. De lo contrario, envíe al usuario de regreso a siteB.com y salga del ciclo.