Apoya mi contenido: 

Tabla de contenido

¿Qué es CORS y qué deberías tener en cuenta como desarrollador?

CORS (Cross-Origin Resource Sharing) es un mecanismo de seguridad implementado en los navegadores que controla cómo las páginas web pueden hacer solicitudes a un dominio distinto al de origen. Es fundamental comprenderlo para evitar errores como “No ‘Access-Control-Allow-Origin’ header present” al trabajar con APIs o sistemas distribuidos.

¿Cómo funciona CORS?

Cuando un cliente (normalmente un navegador) intenta acceder a recursos alojados en otro dominio, el servidor de destino debe incluir cabeceras CORS específicas para permitir dicha solicitud. Por ejemplo:


Access-Control-Allow-Origin: https://midominio.com

Si el servidor no responde con esa cabecera, el navegador bloquea el acceso por razones de seguridad.

¿Qué debes tener en cuenta al implementar CORS?

  • Controlar los orígenes permitidos: Nunca uses * en producción. Define explícitamente qué dominios pueden acceder.
  • Verbos HTTP: Métodos como GET, POST, PUT y DELETE pueden requerir configuraciones adicionales (preflight request).
  • Cabeceras personalizadas: Si usas cabeceras como Authorization, asegúrate de permitirlas con Access-Control-Allow-Headers.
  • Credenciales: Para permitir cookies o tokens en las solicitudes, usa:
    
    Access-Control-Allow-Credentials: true
    
  • Preflight (OPTIONS): Algunas solicitudes envían una verificación previa (preflight request) con el método OPTIONS. Asegúrate de que tu backend lo soporte.

Buenas prácticas al manejar CORS

  • Configura los headers desde el backend (PHP, Node.js, etc.) de forma dinámica o por lista blanca.
  • Evita exponer tu API a todos los orígenes en producción.
  • Utiliza herramientas como Postman o curl para probar CORS sin las restricciones del navegador.

Conclusión

Entender qué es CORS y cómo gestionarlo correctamente es esencial para todo desarrollador web. Configurar correctamente las cabeceras de CORS permite que tus aplicaciones se comuniquen de forma segura entre dominios, evitando errores y vulnerabilidades innecesarias.

¿Tienes una API que será consumida por varios dominios? ¡Implementa CORS correctamente desde el inicio!

¡Comunícate con nosotros!