A falha de segurança que eu mesmo coloquei no código.
25 de maio de 2026 • 3 min de leitura
Durante uma revisão do projeto da barbearia, encontrei algo que me fez parar.
No arquivo de login, os campos de email e senha tinham valores padrão definidos em código:
email: "gabriel@email.com"
password: "123456"
Eram dados de teste que ficaram esquecidos. Mas em produção, qualquer pessoa que abrisse o DevTools do browser e inspecionasse o JavaScript compilado conseguia ver essas credenciais.
Por que isso é grave
O Next.js compila o código do cliente e serve via JavaScript estático. Qualquer string hardcoded num componente React fica exposta no bundle — incluindo credenciais.
Não é necessário acesso ao repositório. Basta abrir o browser, ir às ferramentas de desenvolvimento e procurar no source.
A correção é simples
1const [email, setEmail] = useState("");
2const [password, setPassword] = useState("");Duas strings vazias. Isso é tudo que era preciso.
A lição maior
Dados de teste não devem existir em produção. Parece óbvio, mas quando estás a desenvolver rápido e a iterar, é fácil esquecer o que ficou para trás.
Um processo que ajuda: antes de qualquer deploy, fazer uma busca simples no código por termos como "password", "secret", "token", "123". Não é infalível, mas apanha os casos mais comuns.
Às vezes é sobre não deixar a porta da frente aberta por descuido.