Por defecto, CORS no incluye cookies en solicitudes de origen cruzado. Esto es diferente de otras técnicas de origen cruzado como JSON-P. JSON-P siempre incluye cookies con la solicitud, y este comportamiento puede conducir a una clase de vulnerabilidades llamada falsificación de solicitud entre sitios , o CSRF.
Para reducir la posibilidad de vulnerabilidades CSRF en CORS, CORS requiere que tanto el servidor como el cliente reconozcan que está bien incluir cookies en las solicitudes. Hacer esto hace que las cookies sean una decisión activa, en lugar de algo que ocurre pasivamente sin ningún control.
El código de cliente debe establecer la withCredentials
propiedad en la XMLHttpRequest
que true
con el fin de dar permiso.
Sin embargo, este encabezado solo no es suficiente. El servidor debe responder con el Access-Control-Allow-Credentials
encabezado. Responder con este encabezado true
significa que el servidor permite que se incluyan cookies (u otras credenciales de usuario) en las solicitudes de origen cruzado.
También debe asegurarse de que su navegador no esté bloqueando las cookies de terceros si desea que funcionen las solicitudes con credenciales cruzadas.
Tenga en cuenta que independientemente de si realiza solicitudes del mismo origen o de origen cruzado, debe proteger su sitio de CSRF (especialmente si su solicitud incluye cookies).