Parece que hay cierta confusión entre los cookeis y la información de la sesión aquí, así que comencemos por ordenar eso:
Las cookies se almacenan en el cliente. Por lo tanto, el usuario puede cambiarlos si lo desea.
Información de sesión se almacena en el servidor. Eso significa que el usuario no puede cambiarlo.
"Nunca confíes en el cliente" es una regla antigua en seguridad. Eso significa que nunca puede confiar en la información de las cookies, solo porque la cookie del nombre de usuario tiene el valor "Alicia" no significa que "Mallory" no fue la que inició sesión.
Por esa razón, la información vital generalmente no se almacena en las cookies en el cliente, sino en la sesión en el servidor. A continuación, utiliza una cookie con un ID de sesión para conectar los dos. El ID de sesión es un número aleatorio largo. Si el ID de la sesión de Alice es 20349023490324
, el servidor tendrá toda la información de su sesión (como su nombre de usuario) archivada bajo ese número.
El usuario podría cambiar el ID de sesión, pero dado que hay tantos ID de sesión posibles, es extremadamente improbable que adivine un ID que realmente esté conectado a un usuario.
En algunos casos, es posible que desee almacenar datos en cookies de todos modos. Para evitar que el usuario juegue con ellos, puede firmarlos con una clave que solo tenga en el servidor. Dado que el usuario no tiene la clave, el servidor podrá detectar cualquier cambio en las cookies ya que la firma ya no coincidirá.