Skip to content

Integração com APIs

A segurança do frontend depende da robustez da API. A regra número um é: Nunca confie no frontend.


1. Validação de Dados no Backend

O frontend pode ser manipulado. Qualquer validação feita no cliente (ex: formato de e-mail, campos obrigatórios) deve ser obrigatoriamente repetida no backend.

✅ Como fazer

  • Envie os dados e deixe que o backend retorne o erro 400 (Bad Request) caso a validação falhe.
  • Trate esses erros no frontend para guiar o usuário.

❌ Como não fazer

  • Achar que porque o botão de "Enviar" está desabilitado no frontend, o usuário não conseguirá disparar a requisição via console ou Postman.

2. Exposição de Endpoints e Enumeração

  • Exposição: Evite expor endpoints que não são usados ou que revelam a estrutura do banco de dados.
  • Enumeração de Usuários: Ocorre quando a API retorna mensagens diferentes para "Usuário não encontrado" e "Senha incorreta", permitindo que um atacante descubra quais e-mails estão cadastrados.

✅ Como fazer

  • Use mensagens genéricas: "E-mail ou senha inválidos".

3. Rate Limit

Conceito de limitar a quantidade de requisições que um usuário/IP pode fazer em um determinado período.

  • Importância: Previne ataques de força bruta (brute force) no login e ataques de negação de serviço (DoS).

4. Tratamento Seguro de Erros

Erros técnicos não devem vazar para o usuário final.

✅ Como fazer

  • No frontend, mostre uma mensagem amigável e registre o erro técnico no Sentry.
  • Use Status Codes corretos (401 para não autenticado, 403 para não autorizado, 404 para não encontrado).

❌ Como não fazer

  • Exibir Stack Traces do banco de dados ou mensagens de erro brutas do servidor no Toast da aplicação.

5. Paginação Segura

Ao solicitar listas, a paginação deve ser controlada pelo backend para evitar que um usuário peça 1 milhão de registros de uma vez e trave o servidor ou a interface.