devterview_$ iniciar simulação

CORS não é um mecanismo de segurança do servidor

MédioPlenoWeb

Pergunta

Verdadeiro ou falso: configurar CORS protege sua API. Explique.

Resposta esperada

Falso, no sentido em que a maioria pensa. CORS é uma relaxação controlada da same-origin policy do NAVEGADOR: por padrão, JavaScript numa página de origem A não consegue LER a resposta de uma requisição pra origem B; os headers CORS do servidor B dizem ao navegador 'pode deixar A ler'. Isso protege o USUÁRIO de um site malicioso ler dados de outro onde ele está logado — não protege a API. Um servidor não é 'defendido' por CORS: `curl`, Postman, outro backend, um app mobile — nada disso respeita CORS, é coisa de navegador. Sua API ainda precisa de autenticação, autorização e rate limiting de verdade. Configurar `Access-Control-Allow-Origin: *` numa API pública sem dados sensíveis é ok; numa API com cookies de sessão, isso seria um erro (e o navegador nem permite `*` com credenciais).

Por que perguntam isso

Pergunta pleno/sênior. Reprova quem acha que 'apertar o CORS' é uma camada de segurança do servidor. Aprova quem sabe que é proteção do usuário no navegador.

#cors#same-origin-policy#conceitos
publicidade

Relacionadas