CORS es un mecanismo basado en cabeceras HTTP que permite a un servidor indicar qué orígenes externos pueden leer sus respuestas desde el navegador, flexibilizando de forma controlada la política del mismo origen.
CORS es un estándar que relaja la Same-Origin Policy (SOP) del navegador, que por defecto impide que un script de un origen (esquema + dominio + puerto) lea respuestas de otro. El servidor declara qué orígenes están autorizados mediante cabeceras como Código: text
Access-Control-Allow-Origin
, Código: text
Access-Control-Allow-Methods
y Código: text
Access-Control-Allow-Credentials
. Para peticiones «no simples» (por ejemplo con métodos PUT/DELETE o cabeceras personalizadas), el navegador envía antes una solicitud de verificación preflight con el método OPTIONS.
🧪Ejemplo
Un frontend en Código: text
https://app.ejemplo.com
consulta una API en Código: text
https://api.ejemplo.com
; para que el navegador entregue la respuesta, la API debe devolver Código: text
. Un error típico de configuración es reflejar cualquier cabecera Origin junto con Código: text
Access-Control-Allow-Credentials: true
, lo que permitiría a un sitio malicioso leer datos privados del usuario logueado.
🛡Cómo protegerse
Usá una lista blanca explícita de orígenes confiables en lugar de reflejar el Origin recibido.
No combines comodín Código: text
*
ni orígenes dinámicos con credenciales (cookies o autenticación).
Evitá confiar en el origen Código: text
null
y validá los dominios de forma exacta, no con coincidencias parciales o expresiones regulares laxas.
Limitá métodos y cabeceras permitidos al mínimo necesario.
Recordá que CORS no reemplaza la autenticación ni la protección contra CSRF en el servidor.
⚠Para tener en cuenta
CORS no es una defensa del servidor sino una regla que aplica el navegador: herramientas como curl o scripts propios ignoran estas cabeceras. Además, CORS no bloquea el envío de la petición, solo que el script lea la respuesta; desactivarlo «para que funcione» en desarrollo suele terminar en configuraciones inseguras en producción.
Redactado con el asistente Underc0de IA. Actualizado el 11/11/2026. ¿Ves un error o querés sumar algo? Contanos en el foro.