Cookies, localStorage e sessionStorage: o que guardar em cada um

Publicado em 2026-10-26 por frfrand

Diferenças entre cookies e armazenamento web, expiração, segurança, sessões, XSS e CSRF explicados.

Cookies, localStorage e sessionStorage: o que guardar em cada um

Cookies, localStorage y sessionStorage permitem conservar informações relacionadas com um site, mas não funcionam da mesma forma nem oferecem as mesmas propriedades de segurança. Escolher onde guardar dados de sessão sem entender essas diferenças pode expor informações ou quebrar o funcionamento de um aplicativo.

O que é um cookie?

Um cookie é um pequeno dado associado a um site que o navegador pode enviar automaticamente em solicitações HTTP que atendam a determinadas condições.

Por isso é usado para manter sessões: o navegador pode anexar um identificador de sessão sem que cada página tenha que pedir a senha novamente.

Seus atributos importam muito. Secure restringe o envio a conexões seguras nos contextos previstos; HttpOnly impede que JavaScript leia o cookie; SameSite controla parte do comportamento entre sites.

Não se deve assumir que qualquer cookie implica rastreamento publicitário. Alguns são essenciais para autenticar usuários ou manter preferências.

O que é localStorage?

É um armazenamento de pares chave-valor disponível para JavaScript da mesma origem, sujeito às políticas do navegador. Costuma conservar informações mesmo após fechar a guia ou o navegador, embora o usuário possa apagá-la e o navegador estabeleça limites.

Pode servir para guardar preferências não sensíveis, como o tema visual de um aplicativo.

Não é um local ideal para segredos importantes: se uma vulnerabilidade XSS permitir a execução de código na sua página, esse código pode acessar o armazenamento disponível para JavaScript.

E o sessionStorage?

Também armazena valores por origem, mas está associado à sessão de uma guia ou contexto de navegação. Normalmente é excluído quando essa sessão de página termina.

Por exemplo, pode ser útil para preservar temporariamente o andamento de um formulário em uma guia. Ainda assim, não constitui uma garantia de confidencialidade frente a scripts que sejam executados dentro dessa origem.

Tabela de comparação

CaracterísticaCookielocalStoragesessionStorage
É enviado automaticamente em HTTP?Pode ser enviado de acordo com seus atributosNãoNão
Pode ser lido por JavaScript?Depende de HttpOnly e contextoSim, sob as regras da origemSim, sob as regras da origem
Por quanto tempo permanece?De acordo com a duração e políticasNormalmente até ser excluído ou limpoAssociado à sessão da guia
Uso comumSessões e preferênciasPreferências não sensíveisEstado temporário de uma guia

Esta tabela simplifica alguns detalhes: o comportamento exato depende do navegador e das políticas de armazenamento.

Onde guardo um token de autenticação?

Não existe uma resposta universal. Um cookie HttpOnly com atributos corretos reduz a exposição do valor ao JavaScript, mas é preciso projetar proteção contra CSRF quando for o caso.

Armazenar um token em localStorage evita seu envio automático como cookie, mas aumenta sua exposição se um script malicioso for executado na origem.

A decisão depende da arquitetura, das ameaças, da duração da sessão e da forma de validar permissões. Copiar uma solução porque «todo mundo faz» não é suficiente.

É uma boa ideia armazenar dados pessoais?

Reduza as informações sensíveis armazenadas no navegador. Um campo de senha, dados de pagamento ou documentos privados não devem persistir sem uma necessidade real e controles apropriados.

Além disso, esses mecanismos não substituem o banco de dados do servidor. O usuário pode excluir seus dados locais, usar outro dispositivo ou navegar em um contexto privado.

Um exemplo útil

Um site de reservas pode salvar o idioma preferido em localStorage. A sessão do usuário pode ser gerenciada por meio de cookies configurados corretamente. E a etapa atual de um formulário pode ser mantida em sessionStorage para a guia ativa.

As reservas confirmadas, pagamentos e permissões devem ser verificados pelo backend: você não pode confiar em um preço simplesmente porque ele aparece no armazenamento do visitante.

Qual a relação com o ArduMaker?

Se você hospeda um aplicativo web no ArduMaker, seu frontend pode utilizar esses mecanismos como qualquer outro site. O VPS onde você executa o backend não determina automaticamente se os cookies ou tokens estão configurados de forma segura.

Em uma frase: cookies, localStorage e sessionStorage são ferramentas diferentes. Escolha cada uma de acordo com persistência, exposição a JavaScript e necessidade real.

Fontes: Cookies na MDN · Web Storage API · OWASP HTML5 Security.

Cookies, localStorage e sessionStorage: o que guardar em cada um
  • cookies
  • localStorage
  • sessionStorage

Continuar lendo

Todos os artigos · Planos VPS