Pular para o conteĆŗdo principal

[Medium] šŸ“„ cookie, sessionStorage, localStorage

Comparação​

PropriedadecookiesessionStoragelocalStorage
Ciclo de vidaExcluído por padrão ao fechar a pÔgina, a menos que um tempo de expiração (Expires) ou tempo mÔximo de armazenamento (Max-Age) seja definidoExcluído ao fechar a pÔginaArmazenamento permanente até exclusão explícita
HTTP RequestSim, pode ser enviado ao servidor através do header CookieNãoNão
Capacidade total4KB5MB5MB
Escopo de acessoEntre janelas/abasApenas mesma abaEntre janelas/abas
SegurançaJavaScript não pode acessar HttpOnly cookiesNenhumaNenhuma

Explicação de termos​

O que são Persistent cookies?

Cookies persistentes são uma forma de armazenar dados por longo prazo no navegador do usuÔrio. A implementação concreta é feita definindo um tempo de expiração como mencionado acima (Expires ou Max-Age).

ExperiĆŖncia pessoal de implementação​

1. Verificação de seguranƧa​

Alguns projetos legados tinham uma situação de segurança ruim, com problemas frequentes de roubo de contas que elevaram significativamente os custos operacionais. Primeiro foi adotada a biblioteca Fingerprint (versão comunitÔria com precisão de aproximadamente 60%, versão paga com cota mensal gratuita de 20.000), identificando cada usuÔrio logado como um visitID único através de parâmetros de dispositivo e localização. Em seguida, aproveitando a característica dos cookies de serem enviados a cada requisição HTTP, o backend verificava a situação atual do usuÔrio (troca de dispositivo ou desvio anormal de localização). Ao detectar anomalias, era forçada a verificação OTP (email ou SMS conforme requisitos da empresa) no fluxo de login.

2. URL de código promocional​

Ao gerenciar sites de produtos, frequentemente eram fornecidas estratégias de marketing de afiliados, oferecendo URLs exclusivas para promotores parceiros facilitarem a captação e promoção. Para garantir que os clientes captados pertencessem ao desempenho do promotor, foi implementada usando a propriedade expires do cookie. A partir do momento em que o usuÔrio entra no site pela captação, durante 24 horas (o prazo pode ser decidido pelo operador), o código promocional permanece obrigatoriamente vÔlido. Mesmo que o usuÔrio remova intencionalmente o parâmetro do código promocional da URL, ao se registrar o parâmetro correspondente é obtido do cookie, expirando automaticamente após 24 horas.

localStorage​

1. Armazenamento de preferĆŖncias do usuĆ”rio​

  • Frequentemente usado para armazenar preferĆŖncias pessoais do usuĆ”rio, como dark mode, configuração de idioma i18n, etc.
  • Ou para armazenar o token de login.