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

¿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,PUTyDELETEpueden requerir configuraciones adicionales (preflight request).Cabeceras personalizadas: Si usas cabeceras como
Authorization, asegúrate de permitirlas conAccess-Control-Allow-Headers.Credenciales: Para permitir cookies o tokens en las solicitudes, usa:
Access-Control-Allow-Credentials: truePreflight (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
Postmanocurlpara 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!
¿Te gustaría profundizar en estos temas?
Aprende sobre desarrollo de software, apps a medida, automatizaciones con N8N, Next.js y Cloud con casos reales.


