And After - Design e Tecnologia por Sua Conta!
O desenvolvedor é um blog sobre desenvolvimento web, não tratando apenas de programação mas também compartilhando experiências, métodos, debates e tendências da internet.

O Desenvolvedor é um blog de www.andafter.org
Assinar o Feed RSS

Guilherme Serrano

[@]
[www]

Graduado em design, viciado em web, adoro desenvolvimento, mashups, usabilidade, o universo e tudo mais.

Vivo de e para internet. :)

Status
Karma: 32261
Opiniões: 30

Mais deste autor


Cookies em ASP

Cookies em ASP

Muito bomEste texto foi classificado como Muito bom
Em Internet, Programação
Por Guilherme Serrano
31 de Julho de 2008

Resumo sobre manipulação de cookies em ASP, quando e porque utilizar e como fazê-los funcionar corretamente.

RSS Acompanhe O Desenvolvedor por Feeds!


Dando uma quebra nos textos hard-developer do @chris, resolvi escrever um post simples e rápido sobre um assunto mais simples ainda: cookies em ASP.

Uma leitura rápida sobre:

  1. O que são cookies
  2. Porquê usar cookies?
  3. Programando
    1. Criar um Cookie
    2. Configurar um Cookie
    3. Ler um Cookie
  4.  Dicas e macetes

 

O que são cookies?


Isso são cookies.

 

"Cookies" são dados que ficam armazenados no computador do usuário em formato de texto e podem ser resgatados pelo servidor em outro momento, mesmo que o usuário saia do site e feche o navegador esses dados podem ficar armazenados.

Permitir ou não o uso de cookies é uma opção do usuário e a maioria dos navegadores por padrão aceita o uso deles.

 

Porquê usar cookies?

Usar cookies ou session? Vamos lá...

A session sempre é fechada quando o usuário não está navegando no seu site, para informações que podem ficar guardadas sempre você pode (e deve) utilizar cookies.

Por exemplo, o usuário fez um comentário no seu site, a próxima vez que ele for comentar já estará gravado no formulário o seu nome e e-mail pois estes foram armazenados em cookies quando ele executou essa ação pela primeira vez.

Escrevi aqui como fazer um sistema de login em ASP que utiliza apenas session, quando o usuário fica muito tempo sem nenhuma ação ou quando ele fecha a página ele automaticamente é deslogado, se as informações fossem gravadas através de cookies ele poderia permanecer logado.

Definir quando utilizar Cookies e Sessions depende da intenção e segurança que a aplicação que está sendo desenvolvida deve ter.

 

Programando

Agora que você já sabe como funciona e quando deve ser utilizado, vamos botar a mão na massa e descobrir como criar, ler e configurar cookies em ASP[bb] . :D

Como criar um Cookie em ASP?

Para criar um cookie em ASP é extremamente simples, vamos ao código:

<%
Response.Cookies("usuario").item("apelido") = "Guilherme Serrano"
Response.Cookies("usuario").item("site") = "http://www.andafter.org"
%>

Neste caso foi armazenado um cookie chamado usuario que tem dois itens, um chamado apelido com valo de Guilherme Serrano e outro chamado site com valor de http://www.andafter.org

 

Como configurar um Cookie em ASP?

Cookies não tem muito o que configurar, mas você pode determinar o tempo de expiração, ou seja, até quando este cookie deve ficar armazenado no computador do usuário.

<%
Response.Cookies(“usuario”).Expires = “01/07/2008”
%>

Neste exemplo você tem uma data definida para que o cookie expire, e esta linha só serve para ilustrar como funciona pois dificilmente você determina datas fixas para um cookie expirar, né?

Então você pode usar o seguinte código:

<%
Response.Cookies(“usuario”).Expires = DateAdd("d",7,Now)
%>

Agora você definiu que o cookie usuário tem 7 dias de duração, através do DateAdd. O que você fez foi somar 7 dias "d",7 a data atual Now.

 

Como ler um Cookie em ASP?

Você gravou as informações no computador do usuário, vamos ao código para receber essas informações:

<%=Request.Cookies(“usuario”).item("apelido")%>

Simples assim, usando o exemplo anterior nesse caso você teria como retorno Guilherme Serrano. Um exemplo prático, no formulário de comentar deixar preenchido com o apelido do usuário:

<form action="comentar.asp" method="post">
<input type="text" value="<%=Request.Cookies(“usuario”).item("apelido")%>">
</form>

 

Dicas e macetes

Quando você não define data de expiração o cookir funciona como uma session (chamado cookie de sessão) e é apagado logo que o usuário sai da página.

Pense bem se é melhor usas cookies ou session, cookies não oferecem segurança: as informações gravadas podem ser acessadas a qualquer momento por qualquer usuário do computador que saiba (ou não!) o que está fazendo. Não grave senhas e dados confidenciais em cookies, se isso for necessário (nunca é, pois sempre existem outros métodos) utilize algum sistema de criptografia.

Em um sistema de login por exemplo, se o usuário estiver em um computador público ele ficará logado e a próxima pessoa que acessar o site terá acesso a conta da pessoa - para evitar isso o usuário deve ter a opção ao se logar de "lembrar de mim" ou não. ;)

Para gerar corretamente cookies que utilizam variáveis dinâmicas para o nome você precisa deixar a opção Buffer como true, pra isso insira no início da página a linha:

<%
´Torna o Buffer True
Response.Buffer = True


variavel = "apelido"

´Gera um cookie com uma variável, se o buffer não estivesse como true esse cookie não seria gerado corretamente.
Response.Cookies("usuario").item("" & variavel & "") = "Guilherme Serrano"
%>

 

Bom, se alguém tiver alguma coisa para adicionar comentem aí que eu atualizo o post, certo? ;)

O que você achou do texto?

  • Muito ruim
  • Ruim
  • Regular
  • Bom
  • Muito bom
Sua opinião é o que faz a comunidade funcionar, colabore para isso!

Tags: asp, cookies, programacao, desenvolvimento, internet, developer

Enviar para um amigo
Você pode comentar, assinar o feed, conhecer mais sobre o autor e ajudar a divulgar este artigo em sua ferramenta favorita através dos botões abaixo.
  • Rec6
  • ueba
  • linkk
  • dihitt
  • linkloko
  • websapiens
  • linkto
  • Eu curti

Comentários

Chris Benseler

31/7/2008 23:27:00

Juro que faz 4 anos que trampo com programação pra web e... nunca entendi direito como usar cookies numa linguagem server-side; pra mim sempre foi assim: cookie é por javascript (client-side), session pelo lado do servidor. É um paradoxo isso pra mim! haha

[Responder este comentário]

Jarmilianildo

10/8/2008 21:35:00

Deve haver algum erro grave. Se eu uso Response.Cookie não funciona. Mas pesquisando, vi que todos usam no plural:
Response.Cookies
Request.Cookies

Daí sim, testei e funcionou.

Verifique seu artigo e se realmente constatar a mesma coisa, por favor, edite-o.

Grato.

[Responder este comentário]

Guilherme Serrano

14/8/2008 12:32:00

Falha minha Jarmilianildo, fiz de cabeça e não testei os códigos, fiz as correções nos códigos que publiquei, valeu! ;)

[Responder este comentário]
Deixe seu comentário!

Nome (requerido)

E-mail (requerido - não será divulgado)

URL

Quanto é 4 + 3?




web tracker