Saltar a contenido

Secure Cross-Origin Resource Sharing (CORS) Policy

Política segura de uso compartido de recursos de origen cruzado (CORS)

Descripción

El Cross-Origin Resource Sharing (CORS) es una característica de seguridad aplicada a través de encabezados HTTP que permite a un cliente web solicitar de forma segura recursos de un servidor en un dominio diferente. Para mantener estrictos estándares de seguridad, la aplicación implementa una política CORS segura al permitir solo solicitudes de orígenes confiables. Esto se logra especificando una lista blanca de dominios aprobados, mitigando efectivamente el riesgo de acceso no autorizado y posibles ataques.

Características clave de la implementación de CORS:

  1. Control de origen: CORS permite a los servidores especificar qué dominios tienen permiso para acceder a sus recursos utilizando el encabezado Access-Control-Allow-Origin. Esto evita el acceso entre dominios no autorizado.

  2. Solicitudes preflight: Para ciertos métodos HTTP o encabezados personalizados, los navegadores envían una solicitud OPTIONS de preflight antes de la solicitud real. Esto verifica si el servidor permite el método y los encabezados previstos con los encabezados Access-Control-Allow-Methods y Access-Control-Allow-Headers.

  3. Métodos HTTP permitidos: El servidor puede especificar qué métodos HTTP (por ejemplo, GET, POST, PUT, etc.) están permitidos utilizando el encabezado Access-Control-Allow-Methods.

  4. Encabezados permitidos: Los servidores pueden declarar qué encabezados de solicitud se pueden usar en la solicitud real con el encabezado Access-Control-Allow-Headers.

  5. Soporte de credenciales: CORS puede manejar credenciales (cookies, autenticación HTTP) utilizando el encabezado Access-Control-Allow-Credentials, lo que permite a los servidores permitir o bloquear credenciales en solicitudes de origen cruzado.

  6. Almacenamiento en caché de respuestas preflight: Los servidores pueden especificar cuánto tiempo se pueden almacenar en caché los resultados de una solicitud preflight utilizando el encabezado Access-Control-Max-Age, reduciendo la cantidad de solicitudes preflight enviadas.

  7. Encabezados de respuesta expuestos: El servidor puede especificar explícitamente a qué encabezados de respuesta puede acceder el navegador utilizando el encabezado Access-Control-Expose-Headers.

Esta implementación segura de CORS asegura que los usuarios puedan interactuar con la aplicación sin exponer información confidencial a actores maliciosos.

Recomendación

La implementación es segura, no se aplican recomendaciones.

Enlaces