Como permitir que subdomínios leiam os Cookies do domínio principal em ASP

Criei o And After para dominar o mundo e me tornar um milionário da internet, para isso conto com a ajuda dos donos do mundo (Bia, Chris e recentemente o Cristian). 

As idéias foram crescendo, Um dos projetos está sendo desenvolvido em um subdomínio, mas por padrões de segurança um cookie só pode ser lido pelo domínio que o criou, então os cookies ficam inacessíveis para os subdomínios.

Cookies

Se você não sabe NADA sobre cookies recomendo as leituras:

Como criar e ler cookies em ASP

Classe para gravar e ler cookies – por javascript

 

Para permitir que todos os subdomínios consigam ler o cookie precisamos apenas adiconar a propriedade domain na hora de criar o cookie.

 Por exemplo, tenho um cookie chamado odesenvolvedor que foi criado pelo domínio andafter.org e quero permitir que o subdomínio testes.andafter.org consiga ler este cookie, quando eu gerar o cookie adiciono a seguinte linha:

 

Response.Cookies("odesenvolvedor").domain = "andafter.org"

 

Neste cado o atributo domain permite que todos os subdomínios de andafter.org tenham acesso ao domínio.

Todo poderosoTodo poderoso

"That”s the way the cookie crumbles"*

"E é assim que o biscoito é repartido"*

 

Simples e fácil, agora posso dominar o mundo utilizando diversos subdomínios!

Espero que isso tenha ajudado, sugestões, dúvidas e críticas nos comentários 🙂

 


 

Para quem não lembra no filme Todo Poderoso, esta é a "assinatura" do âncora que se torna deus, interpretado por Jim Carrey. Via Wikiquote

E-commerce – recomende o que eu quero comprar

Comecei a escrever este texto quando eu e o Chris publicamos posts sobre Cookies:

Este na verdade seria o primeiro post sobre cookies que eu ia publicar, mas resolvi antes escrever a parte técnica sobre como criar e requisitar cookies para partir para a "filosofia" do uso, focado aqui em e-commerce.

Para melhorar a experiência do usuário precisamos primeiro pensar como ele, um usuário que visita um e-commerce chegou lá provavelmente por:

  • Intenção de compra
  • Pesquisa de preço (é a intenção de compra de quem tá sem dinheiro…)
  • "Por engano" através de publicidade

Resumindo a estas três formas de entradas, todas elas indicam algum interesse nos produtos – mesmo que não naquele momento.

Jabá

Se você está pensando em começar um negócio na internet recomendo a leitura de: Senhor empresário, porquê investir na internet? onde publiquei alguns dados sobre a movimentação (é muuuito dinheiro) crescente de dinheiro na internet, e as vantagens não só do e-commerce mas do site institucional.

Na vida offline

Quando você vai em uma revenda de automóveis e gosta de um carro, você pede pra ver, entrar, faz um test-drive e o vendedor percebe quando você gostou ou não de um produto devido a atenção que você dá a ele (o produto, não o vendedor!).

Se você voltar uma semana depois e o vendedor for bom, ele de cara vai soltar uma frase mais ou menos assim:

E aí, vai para casa dirigindo o Sentra hoje?

E acredite, isso vai perturbar tua cabeça pois tu vai se imaginar com aquele produto que tu tanto gostou na semana passada!


Sim, isso desperta desejo.

 

Porquê não fazer isso no seu e-commerce?

Deixe o sistema "lembrar" o que o usuário gostou e recomendar produtos que o usuário já tem intenção de compra, as chances de concretizar a venda são muito maiores!

 

Na vida online

Você está navegando e acessa um site de compras, por qualquer um dos três motivos que citei lá em cima, e acaba visitando a página de diversos produtos, mas entre eles você gostou de cinco produtos, que você salvou a url para mostrar para sua namorada.

Ela chega em casa e você mostra para ela os cinco produtos que você tem a url salvo, que são:

 

Nenhuma compra – você só queria mostrar para ela que encontrou os produtos e achou barato.

Pronto, agora o sistema (representando o vendedor) sabe que você gostou mais dos cinco produtos ali listados, pois tem informações armazenadas em cookies que eles foram visualizados por você duas vezes.

Você entra na Home da loja e aparece uma chama de produtos em destaque, misteriosamente os mesmo que você mostrou para sua namorada!

Aí está um exemplo simples em que os cookies podem ser usados para recomendações de produtos em um e-commerce, mas este exemplo é só uma das possibilidades.

 

Coloque a cabeça para funcionar, melhorar a experiência do usuário automaticamente vai melhorar as vendas do seu site! 🙂

Cookies em ASP

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] . 😀

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") = "https://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 https://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? 😉