Introdução de cookies
Primeiro, damos uma breve introdução aos Cookies e explicamos como usar ASP para manter cookies.
Um cookie é um pequeno arquivo armazenado no computador do cliente, o que significa que cada vez que um usuário visita seu site, você pode colocar secretamente um arquivo contendo informações relevantes em seu disco rígido. Este arquivo pode conter quase todas as informações que você deseja configurar, incluindo informações do usuário, status do site e muito mais. Neste caso, existe um perigo potencial: as informações podem ser lidas por hackers. Para evitar que esse problema aconteça, uma forma eficaz é que o cookie só possa ser acessado pelo domínio que o criou. Isso significa: por exemplo, ytu.edu.cn só pode acessar cookies criados por ytu.edu.cn. De modo geral, isso não é um problema; mas e se você precisar compartilhar informações do usuário armazenadas em cookies com dois sites diferentes em dois domínios diferentes? Claro, você pode optar por copiar as informações do usuário, mas se precisar, você só pode? registrar-se em um site e tornar-se um usuário registrado de outro site. Ou, e se os dois sites compartilharem um banco de dados de usuários e exigirem que os usuários façam login automaticamente? Nesse momento, o compartilhamento de cookies entre domínios é o melhor plano de solução.
Aqui, vamos primeiro dar uma olhada em alguns códigos de processamento de cookies ASP para facilitar a referência no futuro.
'Criar biscoito
Response.Cookies(MeuCookie).Expires=Data+365
Response.Cookies(MyCookle).Domain=mydomaln.com
Response.Cookies(MyCookle)(Nome de usuário)=strNome de usuário
Response.Cookies(MyCookle)(Senha)=strSenha
Ler e escrever cookies é muito simples. O código acima cria um cookie e define propriedades para o cookie: domínio, prazo de validade e outros valores armazenados no cookie. Aqui, strUsename, strPassword são variáveis definidas em algum lugar antes. Em seguida, leia no cookie a seguinte instrução.
'Ler biscoito
datExpDate=Request.Cookies(MeuCookie)
strDomaln=Request.Cookies(MyCookle).Domínio
strUsername=Request.Cookies(MyCookle)(Nome de usuário)
strPassword=Request.Cookies(MeuCookie)(Senha)
Para obter informações mais detalhadas, consulte as informações do ASP.
concluir
O truque para simplesmente compartilhar cookies é o redirecionamento, o processo geral é:
1. Um usuário clica em siteA.com.
2. Se o usuário não tiver um cookie para siteA.com, redirecione o usuário para siteB.com.
3. Se o usuário tiver um cookie para siteB.com, redirecione o usuário de volta para siteA.com junto com um sinalizador especial (explicado abaixo), caso contrário, apenas redirecione o usuário para siteA.com.
4. Crie um cookie em siteA.com.
Parece simples, mas analise com atenção: siteA.com e siteB.com compartilham as mesmas configurações de usuário, então se o usuário tiver um cookie para siteB.com (já cadastrado), siteA.com também poderá ler o cookie e fornecer permissões de cookie características. Dessa forma, os usuários que visitam siteA.com parecerão ter visitado siteB.com.
Esta verificação deve ser implementada em um arquivo cookies.inc contido em siteA.com. Vamos dar uma olhada neste código:
eu-1
'SiteA.com verifica cookies
Se Request.Querystring(Checked)<>True então
Se não for Request.Cookies(SiteA_Cookie).Haskeys então
'Redirecionar para siteB.com
Response.Redlrect(http://www.siteB.com/cookie.asp)
Terminar se
Terminar se
Se o usuário tiver um cookie para siteA.com, nada precisa ser feito; a primeira instrução if será usada para eliminar o loop infinito. Vamos dar uma olhada no arquivo cookie.asp em siteB.com para entender melhor.
1-2
'SiteB.com
'Verificar cookies
Se não for Request.Cookies(SlteB_Cookle).Haskeys então
'Redirecionar para siteA.com
Resposta.Redirect(http://www.siteA.com/index.asp&?checked=True)
Outro
'Obter nome de usuário
strUsername=Request.Cookies(SiteB_Cookie)(Nome de usuário)
'Retorna o usuário para siteA.com com um sinalizador especial
Response.Redlrect(http://www.siteA.com/index.asp&?checked=True&identrfer=&strNome de usuário)
Terminar se
Se o usuário ainda não tiver um cookie no siteB.com, envie-o de volta para siteA.com e informe ao aplicativo que você verificou o cookie, fornecendo um parâmetro chamado checkd na consulta. Caso contrário, envie o usuário de volta ao siteB.com e saia do loop.