Estás a construir a tua app, o navegador solta um erro vermelho de CORS, procuras num fórum e copias a solução que promete que tudo funcione. Costuma ser a pior possível. Vamos entender o que é o CORS e porque esse atalho é perigoso.
O que é o CORS na verdade
Por defeito, o navegador não deixa site-a.com ler a resposta de uma API em site-b.com. É a política do mesmo origem, e protege os teus utilizadores: evita que um separador malicioso leia dados de outro onde iniciaste sessão. O CORS é o mecanismo com que o teu servidor diz a estes origens concretos deixo, através do cabeçalho Access-Control-Allow-Origin.
O erro que estraga tudo
O padrão perigoso é refletir qualquer origem que chega e, ainda por cima, permitir credenciais:
Access-Control-Allow-Origincom o valor da origem que pede (reflexo dinâmico)- junto com
Access-Control-Allow-Credentials: true
Com essa combinação, qualquer site que o teu utilizador visite pode fazer pedidos à tua API com os cookies de sessão do utilizador e ler a resposta. Ou seja, um site qualquer pode tirar os dados privados do teu utilizador sem que este se aperceba. O wildcard * é menos grave porque o navegador proíbe combiná-lo com credenciais, mas também não é para deixar posto em produção.
Como configurá-lo bem
Pensa em defesa, não em comodidade:
- Mantém uma lista branca de origens permitidas e compara-a de forma exata. Nunca reflitas o que chega sem validar.
- Ativa
Allow-Credentialssó se de facto precisas de enviar cookies, e só para origens concretas. - Limita métodos e cabeçalhos ao que usas (
Allow-Methods,Allow-Headers). - Cuidado ao incluir
nullou subdomínios de terceiros na lista.
Porque custa detetá-lo
Esta falha é silenciosa: tudo funciona, não há erro visível e a app parece saudável. Só se nota quando alguém a aproveita. Por isso convém rever a configuração de CORS de forma explícita em cada deploy, em vez de confiar que como não dá erro, está bem.
Revê o teu CORS com o Scanaris
O Scanaris comprova em modo só leitura se a tua API reflete origens e como responde aos cabeçalhos CORS, sem lançar ataques nem tocar nos teus dados: só observa a resposta pública. Se encontrar uma configuração perigosa, dá-te um fix prompt para que a tua IA a corrija com uma lista branca. Escaneia o teu site e evita a falha que ninguém vê até ser tarde.