CORS: por que "liberar tudo" é má ideia
O erro de CORS apareceu e alguém resolveu com "Access-Control-Allow-Origin: *". Funcionou — e abriu uma porta. Entenda o CORS e como configurá-lo direito.
Por Equipe We Codex3 min de leitura
O erro de CORS é um dos mais frustrantes para quem desenvolve web: a API funciona no Postman, mas o navegador bloqueia. A tentação é liberar tudo. Antes, vale entender o que está sendo protegido.
O que é CORS
Por padrão, um site não pode ler respostas de uma API em outro domínio. O CORS (Cross-Origin Resource Sharing) é a forma de a API dizer ao navegador quais origens podem acessá-la.
Por que "liberar tudo" é perigoso
Com * e credenciais mal configuradas, qualquer site pode fazer requisições à sua API em nome de um usuário logado e ler as respostas. Dados pessoais, pedidos, informações internas — tudo acessível para um site malicioso que a vítima visitar.
A configuração certa
app.use(cors({
origin: ['https://wecodex.com.br', 'https://app.wecodex.com.br'],
credentials: true,
methods: ['GET', 'POST', 'PATCH', 'DELETE'],
}))- Lista explícita de origens, não curinga.
- Credenciais só quando necessário.
- Ambientes separados: localhost só em desenvolvimento.
CORS não é autenticação
CORS protege usuários de navegadores; não impede que alguém chame sua API de um servidor ou script. A proteção real continua sendo autenticação, permissões e limites (Rate limiting em Node.js: como proteger suas APIs contra sobrecarga e abusos sem afetar a UX, Permissões por papel (RBAC): quem pode ver e fazer o quê).
Junto com o resto
Cookies seguros (CSRF e cookies SameSite: o que mudou e o que ainda importa) e cabeçalhos de segurança (Headers de segurança HTTP: CSP, HSTS e companhia) completam a configuração do navegador.
Veja Segurança Anti-Hacker da We Codex ou fale com a gente.
- CORS
- Segurança
- APIs
- Navegador
Resolver de vez, com quem faz isso todo dia
Quer saber quão exposto está o seu sistema hoje?
Este artigo mostra o caminho. A implementação sob medida — o detalhe que muda o resultado no seu caso — é o trabalho da We Codex, empresa de engenharia do grupo Wocom.
Continue lendo
Tudo sobre Segurança- Ler artigo
Segurança3 min
Headers de segurança HTTP: CSP, HSTS e companhia
Alguns cabeçalhos HTTP bloqueiam classes inteiras de ataques — e muitos sites não usam nenhum. Veja quais configurar e como não quebrar o site.
- Ler artigo
Segurança3 min
Rate limiting em Node.js: como proteger suas APIs contra sobrecarga e abusos sem afetar a UX
Sem limite de requisições, um script mal-intencionado (ou um bug no seu próprio app) derruba a API. Veja como aplicar rate limit no Node.js sem bloquear clientes legítimos.
- Ler artigo
Segurança3 min
CSRF e cookies SameSite: o que mudou e o que ainda importa
Os navegadores mudaram o comportamento padrão dos cookies e muita gente achou que CSRF tinha acabado. Não acabou. Veja o que ainda precisa de atenção.