[Medium] š cookie, sessionStorage, localStorage
Comparaçãoā
| Propriedade | cookie | sessionStorage | localStorage |
|---|---|---|---|
| Ciclo de vida | ExcluĆ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 definido | ExcluĆdo ao fechar a pĆ”gina | Armazenamento permanente atĆ© exclusĆ£o explĆcita |
| HTTP Request | Sim, pode ser enviado ao servidor através do header Cookie | Não | Não |
| Capacidade total | 4KB | 5MB | 5MB |
| Escopo de acesso | Entre janelas/abas | Apenas mesma aba | Entre janelas/abas |
| Segurança | JavaScript não pode acessar HttpOnly cookies | Nenhuma | Nenhuma |
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ā
cookieā
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.