26.11.07



A-SQUARED ACUSA:COOKIE!

Cookie

Origem: Wikipédia, a enciclopédia livre.

Um cookie é um grupo de dados trocados entre o navegador e o servidor de páginas, colocado num arquivo (ficheiro) de texto criado no computador do utilizador. A sua função principal é a de manter a persistência de sessões HTTP. A utilização e implementação de cookies foi um adendo ao HTTP e muito debatida na altura em que surgiu o conceito, introduzido pela Netscape, devido às consequências de guardar informações confidenciais num computador - já que por vezes pode não ser devidamente seguro, como o uso costumeiro em terminais públicos.


Um exemplo é aquele cookie que um site cria para que você não precise digitar sua senha novamente quando for ao site outra vez. Outros sites podem utilizá-los para guardar as preferências do usuário, por exemplo, quando o sítio lhe permite escolher uma cor de fundo para suas páginas.

Funcionamento:

  • Quando o servidor deseja activar um cookie no cliente, envia uma linha no cabeçalho HTTP iniciada por Set-Cookie: ...
  • A partir desse momento, consoante as opções especificadas pelo cookie, o cliente irá enviar no seu cabeçalho HTTP dos pedidos uma linha contendo os cookies relevantes, iniciada por Cookie: ....

Entre os parâmetros dos cookies estão: o tempo de vida (a data para o cookie "expirar a validade") e o domínio, ou grupo de páginas a que o cookie se aplica. Por exemplo, é possível fazer com que um cookie seja aplicado apenas a endereços iniciados por http://pt.wikipedia.org/wiki/ de maneira que esse mesmo cookie já não se aplique para http://pt.wikipedia.org/skins/, por exemplo.

Se não especificada a data de validade para o cookie , ele irá expirar assim que o usuário fechar o navegador.

Em JavaScript (embutido no HTML da página acessada), podemos criar um script para manipulá-los. Utilizamos "document.cookie" (sem aspas). Exemplo:

function setCookie(name, value, expires, path, domain, secure) {
var curCookie = name + "=" + escape(value) +
((expires) ? "; expires=" + expires.toGMTString() : "") +
((path) ? "; path=" + path : "") +
((domain) ? "; domain=" + domain : "") +
((secure) ? "; secure" : "");
document.cookie = curCookie;
}

function getCookie(name) {
var dc = document.cookie;
var prefix = name + "=";
var begin = dc.indexOf("; " + prefix);
if (begin == -1) {
begin = dc.indexOf(prefix);
if (begin != 0) return null;
} else
begin += 2;
var end = document.cookie.indexOf(";", begin);
if (end == -1)
end = dc.length;
return unescape(dc.substring(begin + prefix.length, end));
}

function deleteCookie(name, path, domain) {
if (getCookie(name)) {
document.cookie = name + "=" +
((path) ? "; path=" + path : "") +
((domain) ? "; domain=" + domain : "") +
"; expires=Thu, 01-Jan-70 00:00:01 GMT";
history.go(0);
}
}

As funções do script acima:

  • setCookie - Define o valor de um cookie
  • getCookie - Retorna o valor de um cookie
  • deleteCookie - Exclui um cookie. Para excluir um cookie devemos alterar sua data de expiração para uma data inferior a atual. (esta função faz exatamente isso).


Em ASP, podemos utilizar cookies utilizando os objetos Response e Request. Exemplo:

  • Para gravar o cookie Response.Cookies("nomedocookie")
  • Para definir a validade do cookie Response.Cookies("momedocookie").Expires = DateAdd("d", 365, Now())
  • Utilize o DateAdd para adicionar uma data. No exemplo acima, adicionamos 365 dias, o que equivale a um ano.
  • Para definir o domínio Response.Cookies("nomedocookie").Domain = "pt.wikipedia.org"
  • Para definir o grupo de páginas que o cookie se aplica Response.Cookies("nomedocookie").Path = "/wiki"
  • Se definido como "/" todo o sítio poderá acessar o cookie.
  • Se quiser, há como adicionar vários valores ao cookie response.Cookie("nomedocookie")("nomedovalor") = "valor"
  • Para ler o cookie , utilize o objeto Request. Exemplo: variavel = Request.Cookies("nomedocookie")
  • E para ler valores variavel = Request.Cookies("nomedocookie")("nomedovalor")

0 comentários:

Hora Certa:

Arquivo de blog:faça sua busca

Dicas e sujestões,entre em contato no e-mail abaixo:

Previsão do Tempo

Qual o melhor anti-vírus?