Guias

O que são cookies? Como os sites se lembram de si

Um cookie é um pequeno texto que um site pede ao seu navegador para guardar e depois enviar de volta em cada visita posterior a esse site. É assim que um site «se lembra» de si: que tem sessão iniciada, o que está no carrinho, que idioma escolheu. Os cookies são apenas dados, não programas, mas, como podem identificá-lo, importam tanto para a segurança como para a privacidade.

Porque é que importa quando cria com IA

Os cookies estão por baixo de várias funcionalidades que vai pedir a um criador com IA, muitas vezes sem que a palavra «cookie» chegue a surgir:

  • Início de sessão. Na maioria das aplicações web, «manter sessão iniciada» significa um cookie de sessão. A forma como esse cookie está configurado decide quão fácil é roubá-lo.
  • Carrinhos e preferências. Um cesto que sobrevive a um refresh da página depende muitas vezes de um cookie ou do armazenamento do navegador.
  • Análise e anúncios. Adicionar o Google Analytics, o pixel da Meta ou um widget de chat costuma acrescentar cookies de outras empresas.
  • Avisos legais. Em muitos sítios, alguns cookies precisam do consentimento do visitante antes, e é daí que vêm os banners de cookies.

Se souber que cookies a sua aplicação define e porquê, consegue fazer melhores escolhas sobre definições de segurança, consentimento e a sua política de privacidade.

Uma analogia do dia a dia

Pense numa senha de guarda-roupa. Entrega o seu casaco e recebe um talão numerado. O talão não contém o casaco — só um número. Sempre que volta ao balcão, mostra o talão, e o funcionário sabe qual é o seu casaco.

Um cookie de sessão funciona da mesma forma. Quando inicia sessão, o servidor guarda os seus dados do lado dele e dá ao seu navegador um talão — um ID aleatório e longo. O navegador mostra esse talão em cada pedido, e o servidor procura quem é. Quem copiar o talão pode levantar o casaco, por isso os cookies de início de sessão precisam de proteção.

Como funciona um cookie na prática

  1. Visita um site. A resposta do servidor inclui um cabeçalho como Set-Cookie: session_id=8f3k...; HttpOnly; Secure; SameSite=Lax.
  2. O seu navegador guarda-o, associado ao domínio desse site.
  3. Em cada pedido posterior ao mesmo site, o navegador acrescenta automaticamente Cookie: session_id=8f3k....
  4. O servidor lê-o e sabe que é você.

O JavaScript da página também pode criar cookies, mas os mais importantes — as sessões de início de sessão — devem ser definidos pelo servidor e escondidos do JavaScript.

Tipos de cookies

TipoO que significaExemplo
Cookie de sessãoSem data de expiração; apagado quando a sessão do navegador terminaUm passo de checkout de curta duração
Cookie persistenteTem data de expiração (Expires ou Max-Age) e sobrevive a reinícios«Lembrar-me durante 30 dias»
Primeira parteDefinido pelo site que aparece na barra de endereçosO seu início de sessão nesse site
Terceira parteDefinido por outro domínio incorporado na páginaO identificador de rastreio de uma rede de anúncios
Estritamente necessáriosNecessários para um serviço que o utilizador pediuSessão de início de sessão, carrinho de compras
Não essenciaisÚteis para o dono do site, mas não indispensáveisAnálise, publicidade, testes A/B

Os navegadores têm restringido cada vez mais os cookies de terceiros, porque são usados para seguir as pessoas entre sites. Vários navegadores importantes bloqueiam agora muitos deles por defeito, e os detalhes continuam a mudar, por isso não construa nada importante em cookies de terceiros.

Um exemplo prático: uma pequena loja online

Imagine que construiu uma loja que vende velas artesanais. Estes são os cookies que uma versão sensata definiria, e porquê.

session — definido quando o proprietário ou um cliente inicia sessão. Contém apenas um ID aleatório; o servidor guarda os dados reais da sessão. Definições: HttpOnly (os scripts da página não o conseguem ler), Secure (só é enviado através de HTTPS), SameSite=Lax (não é enviado na maioria dos pedidos iniciados por outros sites). Estritamente necessário.

cart_id — permite a um visitante que não iniciou sessão manter o seu cesto. Aponta para um carrinho guardado na base de dados. Estritamente necessário, porque o visitante pediu para adicionar coisas a um carrinho.

theme — memoriza o modo escuro. Isto poderia ser um cookie, mas nunca precisa de chegar ao servidor, por isso o localStorage do navegador é mais simples.

Cookies de análise — acrescentados se instalar uma ferramenta de análise. São não essenciais. Na UE e no Reino Unido, normalmente exigem consentimento antes de serem definidos, por isso o script de análise deve esperar até o visitante clicar em «Aceitar».

Repare no que a loja não guarda em cookies: o nome, a morada ou os dados do cartão do cliente. Os cookies viajam em cada pedido e ficam no dispositivo do utilizador, por isso devem conter identificadores, não dados pessoais.

Termos comuns explicados

TermoO que significa
CookieUm par nome-valor que o navegador guarda e envia de volta ao site.
Set-CookieO cabeçalho de resposta que um servidor usa para criar ou atualizar um cookie.
SessãoO registo do servidor de um utilizador com sessão iniciada, ligado a um ID de cookie.
HttpOnlyImpede que o JavaScript da página leia o cookie, o que limita os danos de scripts injetados.
SecureO cookie só é enviado através de ligações HTTPS cifradas.
SameSiteControla se o cookie é enviado em pedidos de outros sites (Strict, Lax ou None).
Expires / Max-AgeQuando o cookie deve ser apagado.
Domain / PathQuais os endereços do site que recebem o cookie.
localStorageArmazenamento do navegador que o código da página pode ler, mas que não é enviado automaticamente ao servidor.
XSSCross-site scripting: um script de um atacante a correr na sua página, que pode tentar roubar dados.
CSRFCross-site request forgery: outro site que engana o navegador para enviar um pedido com os seus cookies.
Consentimento de cookiesPedir a permissão dos visitantes antes de definir cookies não essenciais.

Erros comuns e ideias erradas

  • «Os cookies são vírus.» São texto simples. Não conseguem executar código no seu computador.
  • Colocar dados sensíveis em cookies. Guarde um ID aleatório e mantenha os dados no servidor.
  • Tokens de início de sessão no localStorage. Qualquer script a correr na página pode ler o localStorage, incluindo um injetado. Um cookie HttpOnly não pode ser lido pelos scripts da página.
  • Falta de Secure e HttpOnly. Estas duas flags são baratas e fecham falhas comuns.
  • Assumir que um banner cobre tudo. Um banner que carrega a análise antes de alguém clicar em «Aceitar» não faz o seu trabalho.
  • Esquecer o fim de sessão. Terminar sessão deve apagar o cookie e encerrar a sessão no servidor, para que um cookie copiado deixe de funcionar.
  • «Se não uso cookies, as regras de privacidade não se aplicam.» Regras como o RGPD abrangem os dados pessoais onde quer que estejam guardados — armazenamento local, impressões digitais do dispositivo e registos do servidor incluídos.

O que pedir ao seu criador com IA

  • «Liste todos os cookies que a aplicação define, para que servem, quanto tempo duram e se são estritamente necessários.»
  • «Use um cookie HttpOnly, Secure, SameSite=Lax para a sessão de início de sessão. Não coloque tokens de autenticação no localStorage.»
  • «Guarde apenas um ID de sessão aleatório no cookie; guarde os dados da sessão no servidor.»
  • «No fim de sessão, apague o cookie e invalide a sessão no servidor.»
  • «Não carregue scripts de análise ou marketing até o visitante os aceitar, e memorize a sua escolha.»
  • «Acrescente à política de privacidade uma pequena secção sobre cookies que corresponda à lista acima.»

Para a parte do consentimento, veja como acrescentar consentimento de cookies. Para perceber como os cookies se encaixam nos inícios de sessão, leia o que é a autenticação.

Cookies no Mythex

O Mythex não oferece um início de sessão incorporado para os utilizadores da sua aplicação, por isso os cookies que a sua aplicação define vêm do código dela e das ferramentas que lhe acrescenta — por exemplo, um cookie de sessão da abordagem de autenticação que escolher. Peça ao agente no chat para os listar, apertar as suas definições ou acrescentar um banner de consentimento, e verifique o resultado na pré-visualização em tempo real antes de publicar. A receita da documentação sobre como acrescentar início de sessão à sua aplicação é um bom pedido inicial, e a segurança para as aplicações que cria explica como manter chaves e segredos fora do navegador.

Perguntas

O que é um cookie num site?

Um cookie é um pequeno texto que um site pede ao seu navegador para guardar. O navegador envia-o de volta em cada pedido posterior a esse site, o que permite ao site lembrar-se de coisas como se tem sessão iniciada ou o que está no carrinho.

Os cookies são perigosos?

Os cookies são apenas dados, não programas, por isso não conseguem executar código nem infetar um computador. As preocupações são a privacidade, quando cookies de terceiros o seguem entre sites, e a segurança, quando um cookie de início de sessão é roubado e usado para se fazer passar por si.

Qual é a diferença entre cookies de primeira e de terceira parte?

Um cookie de primeira parte é definido pelo site que aparece na barra de endereços, como um cookie de início de sessão. Um cookie de terceira parte é definido por outro domínio incorporado na página, como uma rede de anúncios, e é muitas vezes usado para o seguir por vários sites.

Preciso de um banner de cookies?

Depende de onde estão os seus utilizadores e de que cookies usa. Na UE e no Reino Unido, os cookies não essenciais, como os de análise ou publicidade, normalmente precisam de consentimento prévio, enquanto os estritamente necessários para o serviço, como uma sessão de início de sessão, normalmente não. Verifique as regras que se aplicam a si.

Qual é a diferença entre cookies e localStorage?

Ambos guardam dados no navegador. Os cookies são enviados ao servidor automaticamente em cada pedido, o que se adequa aos inícios de sessão. O localStorage fica no navegador e só é lido pelo código da própria página, o que se adequa a preferências como um tema.

Mythex · Pricing · Crie qualquer coisa com IA · Modelos de sites e apps · Mythex comparado · Glossário de criação de apps com IA · Ferramentas grátis para criar apps com IA · English

English አማርኛ العربية Български বাংলা Bosanski Català Čeština Dansk Deutsch Ελληνικά Español Español (España) Eesti فارسی Suomi Français Français (Canada) ગુજરાતી हिन्दी Hrvatski Magyar Հայերեն Bahasa Indonesia Íslenska Italiano 日本語 ქართული Қазақ тілі ಕನ್ನಡ 한국어 Lietuvių Latviešu Македонски മലയാളം Монгол मराठी Bahasa Melayu မြန်မာ Norsk bokmål Nederlands ਪੰਜਾਬੀ Polski Português (Brasil) Română Русский Slovenčina Slovenščina Soomaali Shqip Srpski Svenska Kiswahili தமிழ் తెలుగు ไทย Tagalog Türkçe Українська اردو Tiếng Việt 简体中文 繁體中文(香港) 繁體中文(台灣)