Webinar
Eventos ITGLOBAL.COM

CORS (Cross-Origin Resource Sharing)

CORS (sigla de Cross‑Origin Resource Sharing, ou Compartilhamento de Recursos entre Origens) é um mecanismo de segurança baseado em cabeçalhos HTTP que permite que aplicações web façam requisições para servidores de domínios diferentes daquele em que a aplicação foi carregada, controlando quais origens podem acessar recursos externos de forma segura.

Contexto e motivo do CORS

Por padrão, navegadores implementam a política de mesma origem (Same‑Origin Policy), que restringe scripts em uma página web de acessarem recursos de outra origem — definida por combinação de protocolo, domínio e porta — para proteger dados sensíveis e evitar ataques maliciosos.

  • Origem: combinação de protocolo, host (domínio) e porta de onde a aplicação web foi carregada.
  • Requisição cross‑origin: quando um app web hospedado em uma origem tenta acessar um recurso (API, fonte, script, etc.) de outra origem.

O CORS foi criado para “relaxar” essa restrição de forma controlada e segura, permitindo acessos legítimos entre origens diferentes sem abrir brechas de segurança.

Como funciona o CORS

O CORS funciona mediante a troca de cabeçalhos HTTP entre o navegador (cliente) e o servidor, onde o servidor define quais origens e métodos são permitidos.

  • Preflight (pré‑verificação): os navegadores podem enviar uma requisição HTTP OPTIONS para testar se a origem e o método desejados são aceitos antes da requisição principal.
  • Access‑Control‑Allow‑Origin: cabeçalho que indica quais origens têm permissão para acessar os recursos do servidor.
  • Access‑Control‑Allow‑Methods: define os métodos HTTP (como GET, POST, PUT) autorizados.
  • Access‑Control‑Allow‑Headers: especifica quais cabeçalhos personalizados podem ser usados na requisição.

Principais casos de uso do CORS

O CORS é essencial em aplicações web modernas que dependem de recursos distribuídos e APIs externas.

  • APIs Web: permitir que aplicações front‑end hospedadas em um domínio consumam APIs hospedadas em outro.
  • Integração de serviços de terceiros: como serviços de mapas, redes sociais ou serviços de terceiros (CDNs) que expõem dados ou recursos.
  • Web fonts e conteúdo multimídia: uso de fontes, imagens ou texturas carregadas de outros domínios.
  • Aplicações SPA (Single Page Applications): que realizam requisições AJAX ou Fetch para back‑ends externos.

Vantagens e considerações de segurança

Implementar CORS corretamente proporciona:

  • Segurança reforçada: o servidor controla quem pode acessar seus recursos, minimizando riscos de acesso não autorizado. :contentReference[oaicite:15]{index=15}
  • Flexibilidade: permite construir aplicações distribuídas que dependem de múltiplos domínios.

No entanto, uma configuração CORS demasiadamente permissiva — como o uso de coringas indiscriminados (`*`) — pode expor vulnerabilidades e permitir que sites maliciosos façam requisições não intencionadas se não houver validação adicional.

Erros comuns relacionados ao CORS

  • Falta de cabeçalho apropriado: se o servidor não retorna os cabeçalhos necessários, o navegador bloqueia a requisição.
  • Configuração excessiva de permissões: permitir origens irrestritas pode comprometer a segurança.
Usamos cookies para otimizar a funcionalidade do site e aprimorar nossos serviços. Para saber mais, leia nossa Política de Privacidade.
Configurações de cookies
Cookies estritamente necessários
Cookies analíticos