sexta-feira, 7 de setembro de 2018

Desvendando Cookies


É sempre bom lembrar um pouco das informações sobre um visitante depois
que ele ou ela deixou o site: um nome de registro de entrada, a última
ocasião em que o visitante esteve presente ou, se você tem um site de
compras, as compras que o visitante fez. Para se lembrar dessas informações,
você terá que armazená-las em algum lugar.
Os cookies não são difíceis de usar, mas o código para salválos e
recuperá-los são um pouco desafiadores. Você pode usar código de outras
pessoas(indicarei algumas boas bibliotecas de cookies), mas ainda assim
é uma boa idéia saber como os cookies funcionam para que possa alterar
o código de bibliotecas para adequá-lo às suas necessidades.
Nesse artigo você aprenderá:

> O que são cookies.
> O que você pode e não pode fazer com eles.
> Como configurar um cookies.
> Como ler um cookies que você configurou.
> Como se lembrar de nomes e datas com cookies.
> Como montar um carrinho de comprar básico com cookies.
> Onde conseguir um bom código de cookie pré-escrito.

UM EXEMPLO DE COOKIES DO MUNDO REAL

Cookies são usador em todos os tipos de aplicativos. Um uso comum é para
determinar se um visitante viu a página antes. Por exemplo, na primeira
vez em que visitar http://book_of_javascript.tripod.survey.html, você
receberá uma pesquisa para preencher. Depois que enviar a pesquiza uma
vez, nunca mais a verá novamente, pois a página armazena um cookie em seu
computador para registrar aquela primeira visita. Cada vez que você visitar
a página, a página verifica se você tem o cookie; se tiver, ela não lhe
dará a pesquisa.
Um exemplo de cookie mais complexo é o site de compras de investidores
em vinhos clássicos da Austrália, em http://vineyarddirect.com.au/index.html.
Esse carrinho de compras do vendedor de vinhos, chamado JShop, vem de
http://www.jshop.co.uk/ e depende quase que inteiramente de JavaScript
e cookies.

O QUE SÃO COOKIES ?

Cookies são pequenas peças de informações que um site deixa no disco
rígido dos visitantes. Como as informações se encerram no disco rígido,
elas permanecem depois que saem da página atual e até depois que o
computador é desligado. Você julgará esse recurso extremamente útil quando
quiser lembrar-se de informações sobre um usuário, cada vez que ele ou ela
visitar seu site.
Os cookies foram introduzidos em Netscape 2.0 e no Microsoft Internet
Explorer 3.0. Infelizmente, MSIE 3.0 oferece uma implementação menos
perfeita: enquanto você pode usar cookies para salvar e ler informações
em computadores de outras pessoas, não pode salvar cookies em seu próprio
computador. Isso significa que você não pode testar o seu cookie em MSIE 3.0.
Você pode ver cookies salvados em seu computador, olhando o arquivo cookies.txt
de Netscape ou o diretório Cookies do MSIE. Em qualquer caso, verá uma
longa lista de nomes de sites, cada um com uma string de texto. O texto
pode parecer incompreensível para você, visto que a maioria dos sites
criptografa cookies de alguma maneira, para empacotar mais informações
neles. Mas dê uma olhada para ver quem deixou essas pequenas ameaças em
seu sistema - você descovrirá que é muito instrutivo.

O QUE COOKIES PODEM E NÃO PODEM FAZER

Porque cookies envolvem escrever e ler a partir dos discos rígidos de
seus visitantes, browsers amistosos para com cookie lidam com muitos aspectos
de segurança. Como resultado, usar cookie tem muitas limitações. As mais
importantes, para os objetivos deste artigo são estas:

1 - Ninguém tem um browser amistoso para com cookies.
2 - Ninguém que tenha um browser amistoso para com cookies escolhe aceitar cookies. (a maioria não o faz).
3 - Cada domínio pode ter apenas 20 cookies (portanto, use-os com parcimônia).
4 - Os cookies não podem exceder os 4 kilobytes. Isso é pouco mais que 4.000 caracteres - na verdade, muito.
5 - Um Website só pode configurar e ler seus próprios cookies(por exemplo, o Yahoo não pode ler os cookies da AOL).

Tenha essas limitações em mente quando estiver pensando em usar cookies em seu site.

COMO TRABALHAR COM COOKIES

Esta seção cobre todas as operações básicas de cookies: configuração,
leitura, reajuste e datas de encerramento de configuração.

COMO CONFIGURAR COOKIES

Configurar um cookies básico é simples; simplesmente crie uma string no
formulário cookie_nome=valor e depois ajuste a propriedade document.cookie
para aquela string. Felizmente, as funções escape() e unescape() codificarão
e decodificarão cookies, assim você não precisa se preocupar com essa
restrição.
Exemplo:

¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨
function setarCookie()
{
1 var o_nome = prompt("Qual é o seu nome?"."");
2 var o_cookie = "nome=" + escape(o_nome);
3 document.cookie = o_cookie;
alert("Obrigado!");
}

¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨EXEMPLO A ¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨


Esse é um exemplo simples que armazena o nome de um visitante e um cookie
chamado nome. A primeira linha(1) da função do exemplo A pede por um
nome do visitante e o salva em o_nome. 2 cria a string para armazenar o cookie. A função
escape() substitui caracteres que os cookies não podem lidar por caracteres
legais. Por exemplo, se eu entrasse como paulo filipe na apresentação,
essa linha criaria a string nome=paulo%20filipe. O sinal de porcentagem
e 20(%20) substituem o espaçõ entre paulo e filipe.
A linha 3 configura o cookie. Para garantir que você configurou um cookie,
digite o seguinte em sua barra de localização do browser:

¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨
javascript:alert(document.cookie)

¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨

COMO LER COOKIES

É muito fácil ler um cookie que você salvou no disco rígido de alguém.
um exemplo:

¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨
function lerCookie()
{
1 var o_cookie = document.cookie;
2 var quebra_de_linha = o_cookie.split("=");
3 var o_nome = quebra_de_linha[1];
4 var o_nome = unescape(o_nome);
alert("Seu nome é: "+ o_nome);
}

¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨EXEMPLO B¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨

A primeira linha(1) no exemplo B é a importante. Sempre que o seu browser abre uma
página da Web, o browser le quaisquer cookies que o site tenha armazenado
em sua máquina e os carrega na propriedade document.cookie.
A parte ardilosa sobre a leitura de cookies é obter exatamente as informações
que você deseja deles. No exemplo B, tudo depois da primeira linha da função
puxa o nome do usuário para fora do cookie. Uma vez que 1 obtém o cookie,
2 rompe o cookie em um array de dois elementos, usando o método split().
O primeiro elemento no array consiste de tudo no cookie antes do sinal
de igual(=). Nesse caso, é nome, assim aquele é o primeiro elemento no
array. O segundo elemento no array é tudo depois do sinal de igual, que
é filipe%20. 3 agarra essa string a partir do array e armazena em the_name,
e 4 decodifica the_name com a função unescape(), trocando %20 por um
espaço.

COMO REAJUSTAR COOKIES

Para reset(reajustar)(mudar o valor de) um cookie, simplesmente ajuste
o seu nome para outro valor. Por exemplo, para saber sobre a última vez
que um visitante esteve em seu site, ajuste um cookie chamado date cada
vez que aquela pessoa visitar o seu site. O exemplo D relaciona uma página
da Web completa, que controla última vez que determinado visitante entrou
na página da Web.

¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨
< html><head><title>Cookie de Data</title>
< script>
function setarCookie()
{
var a_data = new Date();
var o_cookie = "data="+ escape(a_data);
document.cookie = o_cookie;
}

function lerCookie()
{
1 if (document.cookie)
{
var o_cookie = document.cookie;
var o_cookie_array = o_cookie.split("data=");
var a_data = unescape(o_cookie_array[1]);
document.write("A ultima vez que você visitou foi em: "+ a_data);
document.write("<br>");
}
}
< /script>
< /head>
< body>
Bem vindo!

<script>
2 lerCookie();
3 setarCookie();
< /script>
< /body>
< /html>

¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨EXEMPLO C ¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨

Carregar essa página chama as funções JavaScript lerCookie() (2) e
setarCookie() (3). A função lerCookie() verifica se o site ajustou um
cookie(1). Se a string entre os parênteses da cláusula if-then for false
ou a string nula(""), as linhas no corpo da declaração if-then não se
executarão, extraindo a data do cookie e escrevendo-a na página da Web
usando document.write().
Depois que lerCookie() faz isso, setarCookie() ajusta um novo cookie.
Essa função obtém a data atual e ajusta um cookie chamado data àquela
data. Cada vez que setarCookie() é chamada, ela substitui o último cookie
por um novo. Isso é exatamente como ajustar uma variável.

COMO CONFIGURAR MAIS DE UMA PARCELA DE INFORMAÇÕES

Acrescentar mais de uma parcela de informações a um cookie não é um problema.
Por exemplo, para armazenar o nome, idade e número de telefone de uma
pessoa, você deve configurar um cookie assim:

¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨
var o_cookie = "nome:paulo/idade:17/fone:32320087";
document.cookie="meu_cookie="+ escape(o_cookie);

¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨
Uma barra separa propriedade de nomes(nome do usuário, idade e telefone)
e dois-pontos distinguem as propriedades de nomes e valores(nome de usuário:
paulo,fone:32320087). A barra e os dois pontos são arbitrarios, você pode
usar quaisquer símbolos - desde que seja consistente.
É um pouco mais difícil tirar de um cookie múltplas parcelas de informações.
Tente usar arrays associativos para armazenas as informações. Por exemplo,
se você salvou

¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨
meu_cookie=nome:paulo/idade:17/fone:32320087

¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨
no disco rígido de algúem, você pode ler as informações em um array
associativo, exemplo de página:

¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨
< html><head><title>Cookie Complexo</title>
< script>
function lerOCookie(a_info)
{
var o_cookie = document.cookie;
var o_cookie = unescape(o_cookie);
var quebra_de_linha = o_cookie.split("=");
1 var os_valores = quebra_de_linha[1];
2 var separados = os_valores.split("/");
var propriedades = "";
3 for (loop = 0, loop < separados.length; loop++)
{
propriedades = separados[loop];
var quebra_info = propriedades.split(":");
var a_propriedade = quebra_info[0];
var o_valor = quebra_info[1];
4 a_info[a_propriedade] = o_valor;
}
}
function setarCookie()
{
var o_cookie = "meu_cookie=nome:paulo/idade:17/fone:32320087";
document.cookie = escape(o_cookie);
}
5 setarCookie();
6 var cookie_info = new Array();
7 lerOCookie(cookie_info);
< /script>
< /head>
< body>
Isso é o que eu sei sobre você

<script>
8 document.write("Nome: "+ cookie_info["nome"] + "<br>");
document.write("Idade: "+ cookie_info["idade"] + "<br>");
document.write("Fone: "+ cookie_info["fone"] + "<br>");
< /script>
< body>
< /html>

¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨EXEMPLO D¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨

Quando essa página carrega, (5) configura um cookie, (6) cria um novo
array e (7) envia o novo array, vazio à função "lerOCookie()". Primeiro,
a função obtém o cookie e divide o nome do cookie (meu_cookie). Depois,
(1), "os_valores" será igual a "nome:paulo/idade:17/fone:32320087", pois
é o que mostra que ajustamos o cookie na função "setarCookie()".
A seguir, (2) divide "os_valores" entre suas partes componentes, carregando
" nome:paulo" em "separados[0]", "idade:17" em "separados[1]" e "fone:32
320087" em "separados[2]".
Depois que a função interrompe "os_valores", (3) se curva sobre cada um
dos três elementos(nome,idade,fone) em "separados". Cada vez que ocorre
um loop, a função separa o elemento em duas partes, com os dois pontos.
Depois, ela carrega a primeira parte do elemento em "propriedades" e a
segunda parte em "o_valor". Na primeira vez que o loop percorre, "propri
edades" é "nome" e "o_valor" é "paulo". Uma vez o elemento separado, assim,
o array associativo a_info é carregado em (4). Depois da loop ocorrer
três vezes, você obtém esses resultados: a_info["nome"] = "paulo, a_info
["idade"] = "17" e a_info["fone"] = "32320087".
Com o array associativo adequadamente carregado, as três linhas começando
em (Cool recuperam as informações e as exibem em uma página da Web.

COMO AJUSTAR A DURAÇÃO DE UM COOKIE

Até agora, criamos cookies que desaparecem quando um usuário sai do browser.
À s vezes isso é bom. Uma vez que cada domínio só pode ter 20 cookies na
máquina de um usuário, você não quer disperdiçar espaço salvando cookies
desnecessários entre sessões de browser. No entanto, se quiser que os
seus cookies permaneçam no disco rígido de um usuário depois que ele sair
do browser, você precisa ajustar uma data de validade em um formato especial,
chamado GMT( no MSI6.0 e provavelmente em futuros browsers, GMT(Greenwich
Mean Time) tem sido substituído por UTC(Universal Time Code). São apenas
nomes diferentes para a mesma coisa, mas não se surpreenda se vir UTC
ao invés de GMT.) Por exemplo:

¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨
Sun, 12-Jan-1992 00:00 GMT

¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨
supostamente, é a data de nascimento em Greenwich Mean Time de HAL 9000,
o computador inteligente de 2001: uma odisséia no espaço. (HAL?HAL? Você
está ai?).
O formato GMT pode ser meio doloroso, especialmente se você precisa descobrir
se o dia era uma segunda feira, sexta feira ou o que for. Felizmente, o
método de data "toGMTString()" de JavaScript converte uma data em um
formato mais simples em uma data em formato GMT. Eis uma maneira fácil
de ajustar uma data, distante no futuro:

¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨
var a_data = new Date("December 31, 2023");
var o_cookie_data = a_data.toGMTString();

¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨
Para ajustar a validade do seu cookie, você precisa acrescentar a data
de término ao cookie. Acrescente "expires=data" à string e separa os
componentes do cookie com ponto-e-vírgula:

¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨
o_cookie=algumcookie;expires=data

¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨
O exemplo H mostra como montar um cookie que durará até o final do calendário
Maia:

¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨
function setarCookie()
{
var o_nome = prompt("Qual seu nome?","");
var a_data = new Date("December 31, 2023");
var o_cookie_data = a_data.toGMTString();
var o_cookie = "meu_cookie"+ escape(o_nome);
o_cookie = o_cookie+ ";expires="+ o_cookie_data;
document.cookie = o_cookie;
}

¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨EXEMPLO E¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨
Antes de "o_cookie" no exemplo E ser escapado(usando a função escape()),
ele se parecerá com a seguinte linha:

¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨
meu_cookie=paulo;expires=Fri, 31-Dec-2023 00:00:00 GMT

¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨
Uma vez ajustado, esse cookie vive no disco rígido de seu visitante até
a data de expiração.
Você também pode usar a data de expiração para apagar cookies, ajustando
a data para um tempo no passado. Isso pode ser útil se você estiver
usando cookie para registrar pessoas que entram e saem de seu site. Quando
um visitante registra a sua entrada, dê a ele um cookie que mostre que
eles se registraram. Quando ele quiser sair, apague o cookie.

QUEM PODE LER O COOKIE ?

Eu já mencionei que apenas o Web site que configura um cookie pode lê-lo
- McDonald's não pode ler cookies de Giraffas, e vice-versa. Porém, a
estória completa é um pouco mais complicada do que isso.

COMO PERMITIR QUE UMA PÁGINA LEIA UM COOKIE CONFIGURADO EM OUTRA

Por padrão, apenas a página da Web que configura o cookie pode lê-lo.
Se uma dessas páginas configurar um cookie, para permitir que outras
páginas em seu site leiam o cookie, você precisa ajustar o "path"(caminho)
do cookie. O caminho do cookie ajustar o diretório de nível "root"(raiz)
de seu site possibilita que todas as suas páginas da Web leiam o cookie.
Para fazer isso, acrescente "path=/;" ao seu cookie. Se você só quiser
que o seu cookie sejá legível em um diretório chamado arquivos, acrescente
" path=/arquivos;".

COMO LIDAR COM MÚLTIPLOS DOMÍNIOS

Alguns Web sites têm muitos pequenos domínios. Por exemplo, o portal da
Web Yahoo tem um site principal(www.yahoo.com) um site de finanças
(finances.yahoo.com), um site personalizado (my.yahoo.com) e muitos outros.
Por padrão, se uma página da Web em finances.yahoo.com ajusta um cookie,
páginas em my.yahoo.com não podem ler aquele cookie. Mas se você acrescentar
" domain=nome_do_dominio" a um cookie, todos os domínios terminados com
" nome_do_dominio" podem ler o cookie. Para permitir que todas as máquinas
no domínio yahoo.com leiam um cookie, Yahoo precisa acrescentar "domain
=yahoo.com" ao cookie.

O COOKIE INTEIRO

Acrescentar uma data de expiração, domínio e caminho a um cookie o torna
bastante grande. o exemplo I relaciona uma função que ajusta todas essas
variáveis para que você possa ver todo o quardo em um exemplo:

¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨
function setarCookie()
{
var o_nome = prompt("Qual seu nome?","");
var a_data = new Date("December 31, 2023");
var o_cookie = escape(o_nome) + ";";
var o_cookie = o_cookie + "path=/";
var o_cookie = o_cookie + "domain=cade.com;";
var o_cookie = the_cookie+ "expires"+ a_data.toGMTString() +";";
document.cookie = "meu_cookie="+o_cookie;
}

¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨EXEMPLO F¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨

O exemplo F resulta em um cookie que se parece com isso(antes de escapá-lo):

¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨
meu_cookie=paulo;path=/;domain=cade.com;expires=Sun, 31 Dec 2023 00:00:00 GMT;

¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨
É claro que, pelo fato de eu estar ajustando o domínio para cade.com,
apenas um computador no computador no CADE pode ler esse cookie.

COMO AJUSTAR MÚLTIPLOS COOKIES

Às vezes só um cookie não é o suficiente. Por exemplo, se o seu Web site
tem dois aplicativos JavaScripts diferentes - um que usa cookies para
armazenar informações sobre seus visitantes e outro que usa cookies para
rastrear as compras deles - provavelmente você vai querer armazenar esses
dois tipos de informações em cookies diferentes.
Para salvar múltiplos cookies, apenas dê um nome diferente a cada cookie.
Ajustar "document.cookie" a um cookie com um novo nome não apaga os cookies
que já está lá. Eis um pouco de código que ajusta dois cookies:

¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨
var cookie_visitante = "pessoa="+ escape("nome:paulo/ocupação:estudante
/fone:32320087");
document.cookie = cookie_visitante;
var cookie_compras = "compras="+ escape("camisas:1/bermudas:3/sapatos:12");
document.cookie = cookie_compras;

¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨
Esse código ajusta "document.cookie" duas vezes, mas, devido ao fato de
que os cookies têm nomes diferentes, você pode armazenar ambos em "docu
ment.cookie". Depois de executar as quatro linhas acima, "document.cook
ie" se parece com isso(exceto pelos caracteres escapados):

¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨
pessoa=nome:paulo/ocupação:estudante/fone:32320087;compras=camisas:1/be
rmudas:3/sapatos:12

¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨
No exemplo acima, armazenar dois cookies em "document.cookie" funciona
bem, pois o JavaScript que olha as informações de compra não precisa
lidar com as informações no outro cookie. Infelizmente, é um pouco difí
cil puxar o conteúdo de um cookie para fora de "document.cookie", porque
ele contém múltiplos cookies. É aqui onde as bibliotecas JavaScript pré-
escritas tornam-se úteis.

0 comentários :

Postar um comentário

Este blog não é destinado apenas para adultos, portanto não seram admitidos propagandas, linguagem impropria, ofensiva ou obsena que caracterize atitudes evidentes de desrespeito ou grosseria e/ou nada que a desperte curiosidade ou a atenção de menores ou contribuir para que eles adotem valores morais ou hábitos incompatíveis com a menoridade.
As pessoas que inflingir estas regras serão denunciadas ao setor de analize de conteúdo do Google podendo ter sua conta encerrada permanentemente.