Saltar al contenido

Cookie HttpOnly

HttpOnly impide el acceso directo de los scripts a la cookie. Las solicitudes adecuadas aún pueden enviarla; deben comprobarse la sesión y los permisos.

Seguridad informática

Los scripts de la página no pueden acceder mediante document.cookie a una cookie con el atributo HttpOnly. El servidor establece el atributo en la cabecera de respuesta Set-Cookie. Para un identificador de sesión, esto limita la lectura de su valor mediante JavaScript inyectado. No impide que ese script se ejecute.

Separar identificador de sesión y datos visibles

Un portal ficticio de proyectos guarda el identificador de sesión en la cookie sessionId. La interfaz solo necesita el nombre visible para el saludo. Tras comprobar sesión y permisos en el servidor, la consulta de perfil prevista devuelve displayName; el frontend no necesita leer el identificador de sesión.

El navegador puede seguir adjuntando automáticamente una cookie HttpOnly a solicitudes adecuadas, incluidas las iniciadas con fetch(). Las demás condiciones de la cookie siguen vigentes. Por ello, un script inyectado podría realizar acciones dentro de la sesión abierta sin conocer su valor. Siguen siendo necesarias las protecciones XSS y CSRF y las comprobaciones de permisos del servidor.

El atributo independiente Secure limita el envío a HTTPS; SameSite influye en su inclusión en solicitudes entre sitios. Estas propiedades cumplen funciones diferentes.

Fuentes