Foros del Web » Programando para Internet » PHP »

Recomendaciones Cookies y sesiones

Estas en el tema de Recomendaciones Cookies y sesiones en el foro de PHP en Foros del Web. Buenas a todos Quisiera algo de consejo con respecto al uso y la seguridad de las sesiones y sobre todo de las cookies. Expongo como ...
  #1 (permalink)  
Antiguo 10/10/2012, 08:29
 
Fecha de Ingreso: mayo-2008
Mensajes: 156
Antigüedad: 15 años, 10 meses
Puntos: 0
Recomendaciones Cookies y sesiones

Buenas a todos

Quisiera algo de consejo con respecto al uso y la seguridad de las sesiones y sobre todo de las cookies.

Expongo como lo tengo estructurado en la web que estoy montando y a partir de ahi haber si me podeis aconsejar si está bien tal como está o si cambiaríais el método de validación de los usuarios.

La cuestión es que la web para poder entrar hay que estar registrado y mi intención es que si el usuario mete user y pwd y es válida que tenga la famosa opción de "Recuerdame" para no tener que volver a meter la pwd cuando vuelva a conectarse.

Por tanto en el caso de pulsar "Recuerdame" se crea una cookie (bueno dos), una con el nombre del usuario y otra con la contraseña que duran 1 año.
Y si no pulsa recuerdame o pulsándolo, se crea una variable de sesion que es login que toma valor = "SI", con el que si se está validado se va permitiendo acceder al contenido "restringido" de la web. Se crea otra variable de sesión que es usuario que guarda el nombre para luego ir poniendo el nombre del usuario en la cabecera a modo de enlace a su perfil.

Cada vez que el usuario va cambiando de página, tengo un script que comprueba si está o no la cookie creada. Si lo está hace un select a la base de datos y coge los datos del usuario (otra vez) y digamos que sobreescribe nuevamente las variables de sesión usuario y login lo vuelve a poner a SI. De paso la cookie la vuelve a actualizar dandole otra vez una caducidad de 1 año desde ese momento.

Ahi es donde reside creo mi error y mi pregunta, es decir, ¿Es bueno que con cada cambio de página se vuelva a hacer una consulta a la base de datos sacando y comprobando que el usuario existe? o ... ¿Con la variable de sesión que se almacena en la cookie es suficiente?

Lo hago de esta manera por si un usuario guarda X página de la web y luego al conectarse es algo restringido, que entre la cookie y la consulta comprueben y confirmen que el usuario pueda existir.

¿Es bueno almacenar en una cookie la contraseña del usuario?

¿Que alternativa pondríais?

Gracias de antemano como siempre a todos los que respondan
  #2 (permalink)  
Antiguo 10/10/2012, 17:03
 
Fecha de Ingreso: mayo-2008
Mensajes: 156
Antigüedad: 15 años, 10 meses
Puntos: 0
Respuesta: Recomendaciones Cookies y sesiones

Hola

Ningun experto dice nada? o es que me explico muy mal o me explico demasiado y nadie tiene ganas de leer tanto?
  #3 (permalink)  
Antiguo 10/10/2012, 18:50
Avatar de Triby
Mod on free time
 
Fecha de Ingreso: agosto-2008
Ubicación: $MX->Gto['León'];
Mensajes: 10.106
Antigüedad: 15 años, 8 meses
Puntos: 2237
Respuesta: Recomendaciones Cookies y sesiones

Usa variables de sesión siempre que sea posible, si no existe, entonces compruebas la cookie, donde sólo debes almacenar ID del usuario, ya sea numérico o nombre (login) y un hash que no sea el mismo de la contraseña que tienes en la base de datos, pero que sí te permita comparar si se trata de una sesión válida.

Revisa este ejemplo: http://www.forosdelweb.com/f18/aport...8/#post4265381
__________________
- León, Guanajuato
- GV-Foto
  #4 (permalink)  
Antiguo 11/10/2012, 05:20
 
Fecha de Ingreso: mayo-2008
Mensajes: 156
Antigüedad: 15 años, 10 meses
Puntos: 0
Respuesta: Recomendaciones Cookies y sesiones

Muchas gracias por tu respuesta, además muy completo el ejemplo.
Así da gusto. Gracias de nuevo

PD: en caso de dudas ya preguntaré

Etiquetas: cookies, recomendaciones, sesiones, variables, usuarios
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 17:06.