Busca online em todo site:
NETITC

Seja bem vindo(a) Visitante, voc no est logado deseja logar
na comunidade ASPNETi.COM e participar de servios e promoes ? clique aqui.




Título do Artigo

Criando e Lendo Cookie


Data Publicação: 8/1/2010 11:39:23
Total de visualizações: 344

comente
 



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

www.mauriciojunior.org

blog.mauriciojunior.org



Total de visualizações: 344
voltar   comente  subir

Autor:


Por:Mauricio Junior
Maurício Júnior
Formado pela Faculdade Anhanguera, Especialista pela FGV (Fundação Getúlio Vargas), Pós-Graduação em Docência Superior e cursando Mestrado na UNB Engenharia Elétrica; .
Tenho 27 anos e possuo sete livros publicados pela editora Ciência Moderna no ano de 2009. Sou Certificado Microsoft MCP, MCAD e MVP, faço parte da comunidade ASPNETI.COM, onde publico artigos, vídeos, ebooks e livros Publico artigos, vídeos e podcast em outras comunidades. Trabalho como Analista de Sistemas / Desenvolvedor na empresa ATP S/A. Blog:  blog.mauriciojunior.orgSite pessoal  www.mauriciojunior.org


Comentários:


Comente (dê sua opinião): VOCÊ PRECISA ESTAR LOGADO

Comentário:
Código Imagem:  (digite o código da imagem respeitando maiúsculo e minúsculo)

Favor digitar o código da imagem para cadastramento.

 

Outros Artigos do Autor

Copa Microsoft de Talentos
As várias maneiras de mandar e-mail utilizando .NET
Visual SourceSafe – Série 6
Servidor Integrado - Visual Studio.NET
Exemplo do livro Programando em C# para Web
URL Indexável – Reescrever URL de uma forma amigável
Vídeo sobre banco de dados
Chamando Programas de Dentro do Windows Forms
OpenWave SDK 6.2.2
Sistema de Catalogar Livros
Eventos e Webcasts
UPLOAD – Enviando imagem pela Internet
Desenvolvendo com Atributos (Javascript) e StringBuilder
Dica de Segurança no Arquivo de Configuração - Web / App .config
Visual SourceSafe
Pedido de desculpas
Confira os 5 primeiros ganhadores da promoção assinatura online grátis DEVMEDIA.COM e ASPNETI.COM
Criando Pastas no Mail com o Macbook
Event Log Parte II - Visual Studio.NET 2005
Visual SourceSafe - Série 3
Vírus do Serasa por E-mail
Orientação a Objetos com Visual Studio.NET 2005 (o famoso OO) – parte 1
Terra TV Disponibiliza Vídeos com Silverlight
Padrão de Codificação
Tópicos: Criptografia de Dados
Nova geração HTML
Ebook: Aprendendo Desenvolver WebServices
Desenvolvendo Aplicativos para TV Digital - Parte 3
Backup, qual a importância dele na sua vida?
XAML Power Toys
2 Eventos, 1 dia: Mix On UniEURO
Criptografia de String de Conexão no Web.Config
O vírus do curriculum
Criando e Lendo Cookie
Propaganda Microsoft - Vemos como será e não como é.

Publicidade:

[sumir] [aparecer]
NETITC




Informaes Online:

Usurios Online: 551
Artigos:  662
Vdeos:  47
PodCast's:  31
Frum:  3098
Empregos:  1226
Usurios Cadastrados: 5786

Categoria de Artigos

Vdeos

Enquete - D sua opinio

 Os podcasts tem sido proveitoso pra você?

 

Colaboradores

Foto Autor autor: Mauricio Junior   
publicou 381 artigo(s).
Foto Autor autor: Júlio Battisti   
publicou 51 artigo(s).
Foto Autor autor: Fabio Galante Mans   
publicou 28 artigo(s).
Foto Autor autor: Kleber Becerra   
publicou 10 artigo(s).
Foto Autor autor: Ramon Durães   
publicou 6 artigo(s).
Foto Autor autor: Ebenézer de Souza   
publicou 5 artigo(s).
Foto Autor autor: Fabio Aguiar   
publicou 4 artigo(s).
NETITC