Skip to content

Nunca confiar no Frontend

Esta é a regra de ouro do desenvolvimento Web. O Frontend (HTML, CSS e JavaScript) reside no dispositivo do usuário, o que significa que ele está sob o controle total do usuário.

Por que não confiar?

  • Um usuário pode abrir o DevTools e alterar qualquer variável de estado.
  • Um usuário pode interceptar e modificar requisições de rede.
  • Um usuário pode ignorar totalmente sua interface e fazer requisições diretamente para a API usando ferramentas como curl, Postman ou scripts.

O Papel do Frontend

O Frontend deve ser visto como uma ferramenta de conveniência e experiência do usuário, não como uma ferramenta de segurança. As validações no Frontend servem para dar feedback rápido ao usuário, não para proteger o sistema.


Como fazer vs Como não fazer

✅ Como fazer

  • Considere o Frontend como um ambiente hostil e não confiável.
  • Utilize validações no Frontend para melhorar a UX (ex: mostrar que um e-mail é inválido antes de ele clicar em enviar).
  • Garanta que toda e qualquer regra de segurança, permissão ou validação crítica seja implementada e verificada no Backend.

❌ Como não fazer

  • Jamais confie que um dado é válido apenas porque ele passou pela validação do formulário.
  • Não oculte botões ou abas apenas como forma de segurança; se o usuário não pode acessar uma funcionalidade, a API deve bloquear o acesso ao endpoint correspondente (403 Forbidden).
  • Não envie informações sensíveis (como preços originais, IDs internos desnecessários ou campos de permissão) para o Frontend esperando que ele as "mantenha em segredo". Se o dado está no Frontend, o usuário pode vê-lo.