¿Es seguro almacenar los detalles de acceso en una sesión?

1

Background

Estoy a punto de crear un sitio web que tendrá un área de registro / inicio de sesión. Una vez que el usuario haya iniciado sesión, podrá comprar uno o varios módulos que constan de contenido estático con respecto a un tema. Por supuesto, la seguridad de estos módulos es importante ya que quiero asegurarme de que solo las personas que han comprado el paquete tengan acceso a los módulos relevantes.

Problema

¿Crees que es una buena idea almacenar la información en una sesión sobre qué usuario tiene acceso a qué paquete una vez que ha iniciado sesión, así que solo hago una llamada a la base de datos para averiguarlo?

OR

Voy a la base de datos cada vez que acceden a un módulo en particular para asegurarme de que tengan acceso a ese módulo

O

Yo hago ambas cosas

O

hay otra forma en la que me he perdido por completo ...

Cualquier consejo será genial. Estoy tratando de conseguir un equilibrio entre rendimiento y seguridad.

Gracias

    
pregunta Bobby 09.12.2011 - 09:52
fuente

1 respuesta

5

Si almacena la información en la sesión, es posible que se vuelva obsoleta. a la base de datos. Es decir, si la propiedad del módulo caduca o si se puede cancelar por otros medios, es posible que aún esté presente en la sesión de alguien. Si eso es un problema o incluso una característica, depende de usted.

Sin embargo, esto es "optimización prematura". A menos que pueda demostrar (¡probar!) Que esto va a ser un problema de rendimiento, no pasaría más tiempo del estrictamente necesario.

    
respondido por el alex 09.12.2011 - 10:53
fuente

Lea otras preguntas en las etiquetas