Criando e Lendo Cookie
Veja como é fácil trabalhar com o Cookie, existe apenas um requisito import
Olá pessoal,
gostaria de falar um pouco de Cookie hoje com vocês. O Cookie pode ajudar muito
site, praticamente 90% dos sites existentes hoje na internet utilizam a
técnica. Agora, pra quê utilizar esse tipo de tecnologia? Espero poder ajudar a
responder essa pergunta. Requisitos: . Ferramenta de
desenvolvimento: Visual Studio.NET 2008 SP2 . Framework 3.5 . Linguagem
C#.NET Pequena Explicação O Cookie funciona para manter algumas
informações pessoais do usuário, mas as que não são irrelevantes e inseguras;
isto é; não deve ser colocado senha, ou qualquer outro código que faz o sistema
ficar inseguro. Geralmente
é gravada uma busca no site, um produto do e-commerce acessado, um resultado
gerado ou até mesmo uma configuração específica do site. Por exemplo: um site
disponibiliza a dinamicidade de escolher usar uma cor azul ou verde, no meu
caso escolho a azul. Se sair do site e voltar depois, o mesmo deve estar azul e
não verde. Essa informação é ótima gravar como cookie e não no banco de dados.
Você já acessou o site do Submarino e escolheu um produto que resolveu não
comprar? Depois que voltou no site, estava lá o último produto visualizado,
essa informação é gravada via cookie. Não compensa gravar em banco de dados,
gerar tráfego, espaço e tudo mais. O
Cookie tem uma data para expirar e pode ser definida pelo programador, ou seja,
você. Uma dica importante é, procure deixar sempre as informações dentro de
forma criptografada; assim não corre tanto risco no caso das informações
abertas. Código Tecnicamente, mostro dois métodos
escritos em C#.NET e que servem para criar e ler o cookie. Como falado
anteriormente, a melhor coisa é gerar com informações irrelevantes como
configuração de uma página, cores, ip, em resumo dados que não comprometem a
segurança do sistema. Um problema que aconteceu no início do
Orkut foi que, descobriram que tinham os dados dos usuários e códigos dentro do
cookie, dessa forma o pessoal (mais esperto) que queria entrar no orkut do
outro com perfil diferente, pegava esse código e colocava no cookie da própria
máquina. Automaticamente o perfil da outra pessoa aparecia na tela. Qualquer coisa poderia ser feita, pois
o perfil era da outra pessoa. Funcionava perfeitamente a mudança de perfil
indevida, mas isso foi devido à falta de segurança colocada no cookie e
informações relevantes do sistema. Com o passar do tempo eles mudaram isso. Método para criar
o cookie. private void CriarCookie(string usuario) { HttpCookie cookie = new
HttpCookie("SITE"); //cria cookie com o
ip da maquina cookie.Values.Add("IP",
this.Page.Request.UserHostAddress.ToString());
cookie.Values.Add("USERNAME",
usuario); //colocando o cookie para expirar cookie.Expires = DateTime.Now.AddDays(365); this.Page.Response.AppendCookie(cookie); } Code 1.1 Método para ler o
cookie. private HttpCookie ReadCookie() { try {
return this.Page.Request.Cookies["SITE"]; } catch { return
null; } } Code 1.2 Veja o Code 1.1 e 1.2 acima. Note que o
primeiro cria o cookie com o nome do SITE, coloquei [SITE] para que seja bem
identificado, por exemplo: coloque o endereço do seu site (www.mauriciojunior.org). O segundo método, retorna um tipo
HttpCookie que pega com o nome do seu site, no meu caso [SITE]. Se tivesse
colocado o endereço do meu site, teria que colocar ele no segundo método. Posso usar as informações no site da
seguinte forma. (Code 1.3). HttpCookie cookie = ReadCookie();
if (cookie != null)
{
string usuario = cookie["USERNAME"];
if (usuario.Length > 0)
{ txtUsuario.Text =
usuario;
} else { txtUsuario.Focus(); } } Code 1.3 Note que chamo o método ReadCookie() e
verifico se ele é null, ou seja, se ele existe. Se existir pego com a variável
cookie o nome do usuário gravado anteriormente. Depois atribuo ao campo
existente na tela. É bem simples e fácil utilizar cookie,
mas sempre coloque na cabeça a segurança dessas informações, pois é um arquivo
que fica na máquina do usuário e não tem controle sobre ele. Bom, fico por aqui e qualquer dúvida
pode entrar em contato pelo site. Mauricio Junior
Subscribe ecode10.com
Receive our latest updates about programming languages, software, database, books, ebooks, classes, jobs and more.
You can cancel anytime.
Log In