Cookie (informática): diferenças entre revisões

Conteúdo apagado Conteúdo adicionado
m →‎top: ajuste(s) utilizando AWB
Linha 13:
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:Em [[ASP]], podemos utilizar ''cookies'' por meio dos objetos Response e Request. Em [[PHP]], os ''cookies'' são tratados por meio da função setcookie(). Esta deverá vir antes de qualquer dado ser enviado ao navegador, devido ao fato de os ''cookies'' fazerem parte do cabeçalho [[HTTP]].
 
<source lang="javascript">
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);
}
}
</source>
 
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'' por meio dos objetos Response e Request. Exemplo:
 
* Para gravar o ''cookie'' <code>Response.Cookies("nomedocookie")</code>
* Para definir a validade do ''cookie'' <code>Response.Cookies("momedocookie").Expires = DateAdd("d", 365, Now())</code>
* Utilize o DateAdd para adicionar uma data. No exemplo acima, adicionamos 365 dias, o que equivale a um ano.
* Para definir o domínio <code>Response.Cookies("nomedocookie").Domain = "pt.wikipedia.org"</code>
* Para definir o grupo de páginas que o ''cookie'' se aplica <code> Response.Cookies("nomedocookie").Path = "/wiki"</code>
* Se definido como "/", todo o sítio poderá acessar o ''cookie''.
* Se quiser, há como adicionar vários valores ao ''cookie'' <code> response.Cookie("nomedocookie")("nomedovalor") = "valor"</code>
* Para ler o ''cookie'' , utilize o objeto Request. Exemplo: <code>variavel = Request.Cookies("nomedocookie")</code>
* E para ler valores <code> variavel = Request.Cookies("nomedocookie")("nomedovalor")</code>
 
Em [[PHP]], os ''cookies'' são tratados por meio da função setcookie(). Esta deverá vir antes de qualquer dado ser enviado ao navegador, devido ao fato de os ''cookies'' fazerem parte do cabeçalho [[HTTP]].
 
==Parâmetros de segurança do cookie==