Como hay una opción para deshabilitar el control de acceso HTTP (CORS) en los navegadores, puedo enviar solicitudes a cualquier origen. Entonces, ¿por qué debería molestarme en ejecutar un navegador con CORS habilitado?
Por tu propio bien.
Si desactivas CORS, puede suceder lo siguiente:
Te envío un enlace a una página llamada hackfacebook.com
, por ejemplo. Cuando visita mi página, solicito la página de facebook.com utilizando una solicitud de AJAX que, si inició sesión, devuelve el contenido de la página y la cookie de su sesión.
Ahora, como propietario de hackfacebook.com
, tengo su sesión de inicio de sesión.
Como puede ver, la desactivación de CORS es bajo su propio riesgo ya que puede abrir otro ataque.
El propósito de CORS es evitar que un navegador web que lo respeta llame al servidor utilizando solicitudes no estándar con contenido servido desde una ubicación diferente.
Las solicitudes estándar son básicamente
application/x-www-urlencoded
, es decir, no application/json
) Con solo el conjunto limitado de encabezados estándar. Cualquier cosa fuera de esas restricciones activará una comprobación de CORS a través de una llamada OPTIONS
.
Lea otras preguntas en las etiquetas web-browser cors