0Pricing
HTML Academy · Aula

Segurança: o que nunca armazenar no armazenamento

Evite armazenar tokens ou PII em localStorage.

Segurança: o que nunca armazenar no armazenamento é uma aula grátis de HTML Academy no CoddyKit. Esta é a aula 4 de 4. Você pode ler a aula completa abaixo gratuitamente — depois pratica ao vivo no navegador com um editor de código integrado e um tutor de IA 24/7. Faz parte do caminho de aprendizado de HTML Academy, e seu progresso é sincronizado entre a web e o app CoddyKit. O curso de HTML Academy inclui 4 aulas no total.

O armazenamento é texto simples

localStorage e sessionStorage salvam dados sem criptografia no disco, dentro do perfil do usuário. Qualquer processo com acesso ao sistema de arquivos — incluindo malware, ferramentas de backup ou outro usuário conectado — pode ler todos os valores armazenados sem passar pelo navegador.

Acessível por qualquer script

Todos os scripts em execução na origem compartilham o mesmo armazenamento. Um ataque XSS bem-sucedido, um SDK de terceiros comprometido ou uma extensão maliciosa do navegador pode chamar localStorage.getItem e extrair todos os valores armazenados. Não há isolamento entre scripts.

Nunca armazene tokens de autenticação

Não coloque tokens de sessão, JWTs, tokens de atualização ou chaves de API no localStorage. Se um invasor injetar uma única linha de JavaScript, o token vazará imediatamente. Use cookies httpOnly, Secure e SameSite para que o token nunca possa ser acessado pelo JavaScript.

Nunca armazene senhas

Armazenar senhas de qualquer forma — em texto simples, com hash ou criptografadas — é errado no cliente. Aplicar hash no lado do cliente não ajuda quando o invasor pode ler o hash e reutilizá-lo. O tratamento de senhas pertence inteiramente ao servidor, usando um hash de senha dedicado, como bcrypt.

Nunca armazene dados de cartões de crédito

O PCI-DSS proíbe armazenar números de cartão, CVVs, dados da tarja magnética ou datas de validade no armazenamento do cliente. Em vez disso, use um provedor de pagamentos tokenizado (Stripe, Braintree, Adyen) que devolva um token de curta duração vinculado à sua origem.

Nunca armazene identificadores pessoais

Documentos de identificação governamentais, datas de nascimento completas, endereços residenciais e dados médicos atraem órgãos reguladores (GDPR, HIPAA) e invasores. Armazene apenas o que for necessário para a sessão atual, solicite novamente quando necessário e deixe o servidor manter a fonte oficial dos dados.

XSS amplia o dano

Um erro de XSS que vaza document.cookie é grave. O mesmo erro em uma página que armazena tokens em localStorage entrega ao invasor todos os valores armazenados de uma só vez. Trate localStorage como uma superfície em que “se um script foi comprometido, tudo foi comprometido”.

A criptografia não protege você

Criptografar valores com uma chave que também fica no JavaScript não oferece proteção real — o invasor que consegue ler o texto cifrado também consegue ler a chave. Os segredos reais precisam permanecer no servidor e ser emitidos novamente, nunca persistidos no cliente.

Dados seguros para armazenar

Preferências da interface (tema, barra lateral recolhida, idioma), sinalizadores de funcionalidade não sensíveis, conteúdo de rascunhos de formulários e estado temporário de assistentes são aceitáveis. Eles já são visíveis para o usuário, e o vazamento deles não permite assumir o controle da conta.

localStorage.setItem("theme", "dark");
localStorage.setItem("sidebar:collapsed", "true");
localStorage.setItem("draft:post-123", draftMarkdown);

Use cookies para autenticação

Emita a autenticação por meio de Set-Cookie: token=...; HttpOnly; Secure; SameSite=Strict. O sinalizador HttpOnly torna o cookie inacessível ao JavaScript, neutralizando a maioria das cargas úteis de XSS que roubam tokens, mesmo quando há outros erros na página.

Mitigações para o uso do armazenamento

Se precisar armazenar em cache dados aparentemente sensíveis, delimite o escopo com rigor (TTL curto, limpe ao sair da sessão, remova ao fechar a aba por meio de sessionStorage), aplique uma Política de Segurança de Conteúdo rigorosa para bloquear scripts injetados e audite todos os scripts de terceiros executados em páginas autenticadas.

Verificação de conhecimento

Por que os tokens de autenticação armazenados em localStorage são considerados um risco de segurança?

Resumo

O Armazenamento da Web é texto simples, pode ser lido por scripts e é compartilhado por origem. Nunca coloque nele tokens de autenticação, senhas, dados de pagamento ou informações pessoais regulamentadas. Mantenha os segredos em cookies httpOnly e reserve localStorage para estados inofensivos da interface que o usuário poderia ver de qualquer maneira.

Perguntas Frequentes

A aula “Segurança: o que nunca armazenar no armazenamento” é grátis?

Sim — o texto completo de “Segurança: o que nunca armazenar no armazenamento” é grátis para ler aqui na web. Para praticá-la interativamente (um editor de código integrado e um tutor de IA 24/7) e desbloquear o restante do curso de HTML Academy, atualize para CoddyKit PRO. O curso de HTML Academy inclui 4 aulas no total.

O que vou aprender em “Segurança: o que nunca armazenar no armazenamento”?

Evite armazenar tokens ou PII em localStorage. Você pratica HTML Academy com código prático que executa diretamente no navegador, e um tutor de IA 24/7 responde suas dúvidas enquanto trabalha na aula.

Preciso ter experiência prévia para começar HTML Academy?

Nenhuma experiência prévia é necessária. HTML Academy no CoddyKit é estruturado para alunos iniciantes até avançados, então você pode começar aqui ou desde o início e aprender no seu ritmo. Esta é a aula 4 de 4.

Quanto tempo leva a aula “Segurança: o que nunca armazenar no armazenamento”?

A maioria das aulas CoddyKit leva cerca de 5–10 minutos. Cada uma é compacta e interativa, então você faz progresso constante e retoma exatamente de onde parou entre web e app.

Posso escrever e executar código nesta aula de HTML Academy?

Sim. Cada aula de HTML Academy inclui um editor de código integrado, então você escreve e executa código real direto no navegador e recebe feedback de IA instantaneamente — nenhuma configuração local necessária.

Todas as aulas deste curso

  1. localStorage versus sessionStorage
  2. Obtendo, definindo e removendo itens
  3. Monitorando eventos de armazenamento
  4. Segurança: o que nunca armazenar no armazenamento
← Voltar para HTML Academy