Asp: Guia de aplicação de cookies, código detalhado e tutoriais
Autor:Eve Cole
Data da Última Atualização:2009-06-24 17:28:30
Na verdade, no desenvolvimento web, um cookie é apenas um arquivo de texto que quando um usuário visita um site, ele é armazenado no computador usado pelo usuário. , a web pode extrair essas informações.
Embora os cookies possam não parecer interessantes no momento, você pode fazer muitas coisas significativas com eles! Por exemplo: você pode colocar uma pesquisa em seu site, perguntando aos visitantes quais são suas cores e fontes favoritas e, em seguida, personalizar a interface web do usuário com base nelas. Além disso, você também pode salvar a senha de login do visitante, para que quando o visitante visitar o site novamente, ele não precise digitar uma senha para fazer login.
É claro que os cookies também apresentam algumas deficiências. Em primeiro lugar, uma vez que a função dos cookies pode ser programada para atingir algumas más intenções, a maioria dos navegadores possui configurações de segurança nas quais pode definir se permite ou aceita cookies, pelo que não há garantia de que os cookies possam ser utilizados a qualquer momento. Além disso, os visitantes podem excluir intencionalmente ou não
biscoitos. Quando a máquina do visitante encontrar uma “tela azul” de travamento, ou após reformatar o disco rígido ou instalar o sistema, todos os cookies salvos anteriormente serão perdidos. Finalmente, alguns dos primeiros navegadores não suportam cookies.
O que você pode fazer com biscoitos?
Existem 2 formas básicas de utilização de cookies:
1. Grave cookies no computador do visitante (use o comando RESPONSE)
2. Recuperar cookies do computador do visitante (use o comando REQUEST)
Sintaxe básica para criação de cookies
Response.Cookies("NomedoCookie")=valor
A execução do código a seguir criará um cookie no computador do visitante com name=VisitorName e value=Ken
Response.Cookies("NomeVisitante")="Ken"
A execução do código a seguir criará um cookie no computador do visitante, com nome = VisitorName e valor = o valor de UserName no formulário.
Response.Cookies("NomeVisitante")=Request.Form("NomeUsuário")
Sintaxe básica para leitura de cookies
Request.Cookies("NomedoCookie")
O valor da solicitação pode ser tratado como uma variável. A execução do código a seguir recuperará o valor do cookie denominado KensCookie e o armazenará na variável MyVar:
MinhaVar=Request.Cookies("KensCookie")
A execução do código a seguir determinará se o valor do cookie denominado KensCookie é "Sim":
Se Request.Cookies("KensCookie")="Sim" então
Cookies ricos em recursos
Você pode estender o código acima para se tornar o valor da subchave Cookie (CookieSubName), o código é o seguinte:
Response.Cookies("NomedoVisitante")("Nome")="Ken"
Response.Cookies("Nome do Visitante")("Sobrenome")="Baumbach"
Antes de explicar os exemplos, vamos discutir dois conceitos finais: convenção de comando e tempo de expiração de uso.
convenção de nomenclatura
Assim como nomear outras variáveis, nomear cookies de forma adequada e exclusiva ajudará você a usá-los de forma consistente em seu programa. Você pode usar 1 ou 2 dos seguintes
O atributo cookie nomeia a variável cookie:
Atributo de domínio (Domínio): O atributo de domínio indica de qual site o cookie é gerado ou lido. Por padrão, o atributo de domínio do cookie é definido para o site que o gerou, mas você também pode alterá-lo conforme necessário. O código relevante é o seguinte: Response.Cookies("CookieName").Domain = " www.mydomain.com "
Atributo Path (Path): O atributo path pode implementar mais requisitos de segurança. Ao definir o caminho preciso no site, você pode limitar o escopo do uso de cookies. Por exemplo:
Response.Cookies("NomedoCookie").Path = "/maindir/subdir/caminho"
Usar prazo de validade
Normalmente, um cookie deixa de existir quando o navegador é fechado. Mas muitas vezes, como no exemplo do site discutido abaixo, queremos salvar cookies no computador do visitante por um longo período de tempo. Felizmente, existe uma maneira de conseguir isso. O código a seguir pode definir o tempo de expiração do cookie para 2010
1º de janeiro:
Response.Cookies("CookieName").Expires=#01 de janeiro de 2010#
A execução do código a seguir definirá o tempo de expiração do cookie como "tempo de criação do cookie + 365 dias":
Response.Cookies("NomedoCookie")=Data+365
Exemplos práticos de uso de cookies (muito interessantes)
Agora vamos falar sobre exemplos práticos. Suponha: você deseja fazer uma pesquisa. Todos precisam preencher as informações quando visitam pela primeira vez, mas quando visitam novamente no futuro, não precisam fazer isso novamente. Usando cookies, você pode resolver este problema de forma muito satisfatória, sem usar um banco de dados.
< %@ LANGUAGE="VBSCRIPT" % >
<%
Pesquisa=Request.Cookies("KensSurvey")
Se Pesquisa="" então
Response.Cookies("KensSurvey")="x"
Response.Cookies("KensSurvey").Expires=#01 de janeiro de 2010#
Resposta.Redirect "survey.asp"
Outro
'resto da página
Terminar se
%>
Ok, vamos começar do zero e discutir o código acima.
Primeiro, configure inicialmente a página e leia o valor do cookie denominado KensSurvey:
< %@ LANGUAGE="VBSCRIPT" % >
<%
Pesquisa=Request.Cookies("KensSurvey")
Em seguida, determine se o valor do cookie já existe:
Se Pesquisa="" então
Caso não exista, o cookie é criado e definido, e a página é redirecionada para survey.asp. Na próxima vez que você visitar, porque o valor do cookie existe, você não irá para
página pesquisa.asp.
Response.Cookies("KensSurvey")="x"
Response.Cookies("KensSurvey").Expires=#01 de janeiro de 2010#
Resposta.Redirect "survey.asp"
Se o cookie já existir, o visitante executará o código restante na página:
'resto da página
Terminar se
%>
Exemplo 2
Aqui está outro exemplo simples: Mostre uma mensagem de boas-vindas aos visitantes quando eles visitarem um site pela primeira vez. O código é o seguinte:
< %@ LANGUAGE="VBSCRIPT" % >
<%
RequestName = Request.Form("Nome")
RequestLeaveMeAlone = Request.Form("LeaveMeAlone")
Se RequestName < >"" ou RequestLeaveMeAlone < >"" então
Response.Cookies("MeuSiteVisitorName") = RequestName
Response.Cookies("MySiteVisitorName").Expires = #01 de janeiro de 2010#
Response.Cookies("MeuSiteLeaveMeAlone") = RequestLeaveMeAlone
Response.Cookies("MeuSiteLeaveMeAlone").Expires = #01 de janeiro de 2010#
Terminar se
VisitorName = request.cookies("MySiteVisitorName")
LeaveMeAlone = request.cookies("MeuSiteLeaveMeAlone")
Se VisitorName = "" e LeaveMeAlone = "" então
%>
<HTML> <CABEÇA> </HEAD>
<body bgcolor="#ccffff" text="preto" link="navy" vlink="roxo" >
< DIV ALIGN="CENTRO" >
<form action="index.asp" método="POST" >
<H2 >Vamos ser amigos</H2 >
Qual é o seu nome (deixe em branco e clique no botão Enviar se não quiser que o façamos
saber)?
< input type="text" nome="nome" >< BR >< BR >
<input type="hidden" name="LeaveMeAlone" valor="x" >
< input type="enviar" valor="Enviar" >
</ /FORM >
</DIV>
</corpo>
<%
Terminar se
Se VisitorName < > "" então
Response.write "Olá," & VisitorName & "! Espero que você esteja tendo um ótimo dia!"
Terminar se
'resto da página
%>
Ok, agora vamos dar uma olhada no que a implementação do código acima faz. Primeiro, configure a página. Em seguida, verifique a variável do formulário (na mesma página). Se a variável de formulário existir, crie o cookie e defina o tempo de expiração.
< %@ LANGUAGE="VBSCRIPT" % >
<%
RequestName = Request.Form("Nome")
RequestLeaveMeAlone = Request.Form("LeaveMeAlone")
Se RequestName < >"" ou RequestLeaveMeAlone < >"" então
Response.Cookies("MeuSiteVisitorName") = RequestName
Response.Cookies("MySiteVisitorName").Expires = #01 de janeiro de 2010#
Response.Cookies("MeuSiteLeaveMeAlone") = RequestLeaveMeAlone
Response.Cookies("MeuSiteLeaveMeAlone").Expires = #01 de janeiro de 2010#
Terminar se
A seguir, leia o cookie:
VisitorName = request.cookies("MySiteVisitorName")
LeaveMeAlone = request.cookies("MeuSiteLeaveMeAlone")
Caso o cookie não exista no computador do visitante, crie um formulário solicitando as informações relevantes:
Se VisitorName = "" e LeaveMeAlone = "" então
%>
<HTML>
<CABEÇA>
< /HEAD>
<body bgcolor="#ccffff" text="preto" link="navy" vlink="roxo" >
< DIV ALIGN="CENTRO" >
<form action="index.asp" método="POST" >
<H2 >Vamos ser amigos</H2 >
Qual é o seu nome (deixe em branco e clique no botão Enviar se não quiser que o façamos
saber)?
< input type="text" nome="nome" >< br >< br >
<input type="hidden" name="LeaveMeAlone" valor="x" >
< input type="enviar" valor="Enviar" >
</ /FORM >
</DIV>
</corpo>
<%
Terminar se
Se o cookie já existir e o nome de usuário existir, exiba uma tela de boas-vindas ao visitante e execute o restante do código.
Se VisitorName < > "" então
Response.write "Olá," & VisitorName & "! Espero que você esteja tendo um ótimo dia!"
Terminar se
'resto da página
%>
Embora o exemplo acima seja simples, muitas aplicações criativas podem ser estendidas a partir dele. Você pode adicionar muitos recursos aos seus formulários para personalizar seu site.
Você também pode permitir que os visitantes personalizem as cores, fontes e outros elementos da web do seu site. Se possível, você pode perguntar ao visitante qual é o seu aniversário e, quando o visitante visitar nesse dia, você pode exibir uma mensagem de “Feliz Aniversário” para ele.
Como você pode ver, a escalabilidade dos cookies é infinita e este artigo é apenas um ponto de partida.