Segurança: os cookies

Novembro 2017

O que são os cookies

O que são estes estranhos biscoitos que um website certamente já lhe propôs? Na maior parte do tempo, quando um servidor web propõe um cookie, os usuários ignoram este termo e clicam em OK, sem se preocupar com sua evolução. Um cookie é, na realidade, um arquivo armazenado no disco rígido do usuário, para permitir que o servidor web o reconheça de uma página para outra. Os cookies são utilizados principalmente pelos sites de e-commerce, a fim de memorizar a preferência do usuário (ex: as opções que assinalou) para evitar que tenha de escrever ou selecionar tudo de novo.

Os cookies e a segurança

O problema essencial dos cookies vem das informações que eles contêm. Na verdade, quando um usuário se conecta a um site personalizável, este vai fazer-lhe algumas perguntas a fim de elaborar o seu perfil e, em seguida, vai armazenar estes dados em um cookie. Dependendo do site, a maneira como a informação é armazenada pode revelar-se prejudicial para o usuário. Na realidade, um site de venda online pode, por exemplo, colher informações sobre as preferências dos usuários por meio de um questionário, para propor artigos que possam interessa-los.

Por exemplo, ao saber se o usuário é um homem ou uma mulher, um site poderá direciona-lo diretamente para a página adequada para ganhar tempo (e sobretudo para vender mais). Se, além disso, o usuário indicar no seu perfil que é amador de tênis, o site poderá lhe propor uma seleção personalizada dos últimos artigos sobre o assunto. Assim, um cookie é um mecanismo previsto para criar uma associação entre a sessão do usuário (navegação entre páginas de um mesmo site durante um determinado tempo) e os dados relativos.

Idealmente, o cookie deve conter uma cadeia aleatória (identificador de sessão) única e dificilmente 'adivinhável', válida unicamente durante um certo tempo. Só o servidor deve poder associar as preferências do usuários a este identificador. Assim, após expiração do cookie, o identificador de sessão se tornará inútil e o cookie não conterá nenhuma informação relativa ao usuário. Em nenhum caso o cookie deve conter informações relativas ao usuário e a sua durabilidade deve ser o mais próximo possível da que corresponde à sessão do usuário.


Por outro lado, os dados armazenados num cookie são enviados pelo servidor, com base nos dados informados pelo usuário (com exceção do endereço IP e a identificação do navegador transmitida automaticamente ao servidor). Assim, o cookie não pode, em nenhum caso, conter informações que o usuário não deu ou sobre o conteúdo do computador, ou seja, o cookie não pode recolher informações sobre o sistema do usuário. Assim, recuse-se sempre a dar informações pessoais a um site que não lhe inspire confiança, porque ele não tem razão nenhuma para pedi-las. Por conseguinte, um cookie não tem nada de perigoso se o usuário não der suas informações pessoais.

Como funcionam os cookies

Os cookies fazem parte das especificações do protocolo HTTP, ou seja, o protocolo para surfar nas páginas web. O protocolo HTTP permite trocar mensagens entre o servidor e o cliente através de pedidos HTTP e de respostas HTTP. Os pedidos e respostas HTTP contêm cabeçalhos que permitem enviar informações específicas de maneira bilateral. Um destes cabeçalhos está reservado para a escrita de arquivos no disco rígido, os cookies.

O cabeçalho HTTP reservado para o uso dos cookies chama-se Set-Cookie, trata-se de uma simples linha de texto como esta:

Set-Cookie : NOME=VALOR; domínio=NOME_DO_DOMINIO; expires=DATA 

Trata-se de uma cadeia de caracteres que começa por Set-Cookie e seguido de pares de chave-valor, sob a forma CHAVE=VALOR, separados por vírgulas. Eis um quadro das principais chaves (chamados “Atributos”) possíveis para um cookie:


Atributo Valor Sintaxe Descrição
NOME_DO_COOKIEVALORO nome e o valor não podem conter os caracteres ponto e vírgula (;), vírgula (,) e espaço (). Para usar tal valor é preciso recorrer à codificação URLEste atributo é obrigatório (na realidade, o único)
expiresDATADia, DD-Mês-AAAA HH:MM:SS GMTO atributo expires permite definir a data na qual o cookie já não deve ser armazenado no disco e não deve ser considerado pelo servidor
domínionome_do_domínioxxx.xxx.xxxGeralmente, o nome de domínio fica vazio porque o nome do servidor é atribuído por padrão (em geral, é o desejado). Quando é indicado, o nome de domínio deve conter, pelo menos, dois pontos (br.CCM.net). Uma máquina que provém de um determinado domínio pode especificar apenas um nome de subdomínio ou o seu próprio nome de domínio
path/diretório/caminho/O atributo path (caminho) permite definir um subdiretório ou um arquivo do servidor no qual o cookie é válido, a fim de reduzir o seu campo de ação
securenenhumO atributo secure é opcional. Com ele, é possível especificar se o cookie será enviado apenas se a conexão for protegida (por SSL ou S-HTTP

Envio dos cookies ao servidor

Quando um cliente se conecta a um site (consequentemente, ao servidor), os cookies para o domínio e o caminho especificado são enviados automaticamente para os cabeçalhos do pedido HTTP. Assim, o cabeçalho se apresenta sob a seguinte forma:


Cookie: NOME1=VALOR1; NOME2=VALOR2; ... 

Um certificado CGI (ou outro, como o ASP ou o PHP) pode, então, verificar a presença do cookie analisando os cabeçalhos; no caso do CGI, utilizando o objeto Request, no caso do certificado ASP ou utilizando as variáveis $NOME1, $NOME2, etc. criadas automaticamente pelo motor de certificado PHP.

Limitações dos cookies

Os cookies estão sujeitos a certas restrições como um número total limitado a 300, uma dimensão máxima de 4 KB e ter, no máximo, 20 cookies por domínio.

Precisões suplementares sobre os cookies

O cookie não é visível antes do próximo carregamento da página. Saiba que certos navegadores não tratam efetivamente os cookies, como o Microsoft Internet Explorer 4 com Service Pack 1, que não trata corretamente os cookies com caminho definido. Contrariamente, o Netscape Communicator 4.05 e o Microsoft Internet Explorer 3.x não tratam corretamente os cookies que não têm as configurações de caminho e expiração definidos.

Veja também


Security - Cookies
Security - Cookies
Seguridad - Cookies
Seguridad - Cookies
Cookies (internet)
Cookies (internet)
Sicurezza - I cookies
Sicurezza - I cookies
Última modificação: 20 de junho de 2017 às 16:50 por ninha25.
Este documento, intitulado 'Segurança: os cookies', está disponível sob a licença Creative Commons. Você pode copiar e/ou modificar o conteúdo desta página com base nas condições estipuladas pela licença. Não se esqueça de creditar o CCM (br.ccm.net) ao utilizar este artigo.