Foros del Web » Programando para Internet » PHP »

¿Es correcta esta forma de mantener al usuario logueado?

Estas en el tema de ¿Es correcta esta forma de mantener al usuario logueado? en el foro de PHP en Foros del Web. Cada vez que un usuario inicia sesion almaceno en la base de datos un string aleatorio y el sistema operativo/navegador/version En el cliente almaceno una ...
  #1 (permalink)  
Antiguo 25/10/2018, 16:52
Avatar de juanito1712  
Fecha de Ingreso: mayo-2010
Ubicación: Valencia
Mensajes: 1.124
Antigüedad: 14 años, 6 meses
Puntos: 66
¿Es correcta esta forma de mantener al usuario logueado?

Cada vez que un usuario inicia sesion almaceno en la base de datos un string aleatorio y el sistema operativo/navegador/version
En el cliente almaceno una cookie únicamente con el string.

Cada vez que cualquier usuario desconocido accede sin estar logueado compruebo si hay un string, a que usuario pertenece y si los datos del navegador concuerdan lo logueo...


¿hago bien al sentirme un poco incomodo con esto?
  #2 (permalink)  
Antiguo 25/10/2018, 21:47
alvaro_trewhela
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: ¿Es correcta esta forma de mantener al usuario logueado?

Es una forma segura, pero...

Que sucede si el usuario olvida deslogearse desde un equipo, y debe acceder desde otro? le negarás el acceso?
  #3 (permalink)  
Antiguo 25/10/2018, 22:37
Avatar de jsstoni  
Fecha de Ingreso: enero-2015
Ubicación: Maracaibo
Mensajes: 82
Antigüedad: 9 años, 9 meses
Puntos: 4
Respuesta: ¿Es correcta esta forma de mantener al usuario logueado?

veo los siguientes problemas:
1) el usuario puede copiar la cookie y volverla a crear en otro momento
2) haciendo el paso 1 el usuario puede logear facilmente si el token todabia existe en la db
__________________
Desarrollo web Front End Realtime NodeJs
  #4 (permalink)  
Antiguo 29/10/2018, 14:14
Avatar de juanito1712  
Fecha de Ingreso: mayo-2010
Ubicación: Valencia
Mensajes: 1.124
Antigüedad: 14 años, 6 meses
Puntos: 66
Respuesta: ¿Es correcta esta forma de mantener al usuario logueado?

alvaro_trewhela.

hay un único string por usuario, a cada inicio de sesión cambia el string y en caso de acceder desde otro equipo el anterior dejaría de existir y su "sesion" moriría si cometes el error de mantener la sesión abierta en un equipo ajeno se destruirá al iniciar sesión de nuevo

jsstoni
1)no entiendo que beneficio se puede tener de obtener la cookie y volverla a crear mas adelante, a cada login el string cambia, son como cookies de usar y tirar, en la cookie no almaceno el usuario al que pertenece solo el string y a partir de el se loguea al usuario y se genera a uno nuevo para la proxima vez.

2)Es lo que me inquieta, si alguien acertase el token existente de cualquier usuario, podria iniciar por cualquiera, es lo que me inquieta de todo esto desde el principio.

Es un token alfanumérico descaradamente largo y tras un intento fallido bloqueo la ip desde la que ha llegado pero... no se si debería inquietarme o esto está bien planteado así

Última edición por juanito1712; 29/10/2018 a las 14:35
  #5 (permalink)  
Antiguo 31/10/2018, 04:40
Avatar de vb2005  
Fecha de Ingreso: noviembre-2005
Ubicación: Paderborn - Alemania
Mensajes: 568
Antigüedad: 19 años
Puntos: 25
Respuesta: ¿Es correcta esta forma de mantener al usuario logueado?

La respuesta es NO no es absolutamente nada seguro.

Navegador, version etc. Son provienen de un User-Agent el cual es muy sensillo de modificar, si yo tengo el string de una persona creo una cookie y modifico mi user-agent y ya personifico a esa persona.

Por lo tanto no tomaría ese método como seguro.
__________________
www.marcher.com.uy - Web personal
Nerd's Corner - Desarrollo de software a medida
  #6 (permalink)  
Antiguo 31/10/2018, 10:17
 
Fecha de Ingreso: abril-2006
Mensajes: 583
Antigüedad: 18 años, 6 meses
Puntos: 120
Respuesta: ¿Es correcta esta forma de mantener al usuario logueado?

Cita:
Iniciado por juanito1712 Ver Mensaje
alvaro_trewhela.

hay un único string por usuario, a cada inicio de sesión cambia el string y en caso de acceder desde otro equipo el anterior dejaría de existir y su "sesion" moriría si cometes el error de mantener la sesión abierta en un equipo ajeno se destruirá al iniciar sesión de nuevo

jsstoni
1)no entiendo que beneficio se puede tener de obtener la cookie y volverla a crear mas adelante, a cada login el string cambia, son como cookies de usar y tirar, en la cookie no almaceno el usuario al que pertenece solo el string y a partir de el se loguea al usuario y se genera a uno nuevo para la proxima vez.

2)Es lo que me inquieta, si alguien acertase el token existente de cualquier usuario, podria iniciar por cualquiera, es lo que me inquieta de todo esto desde el principio.

Es un token alfanumérico descaradamente largo y tras un intento fallido bloqueo la ip desde la que ha llegado pero... no se si debería inquietarme o esto está bien planteado así
  1. el beneficio de secuestrar cookies es que , si tu usuario es atacado y le roban la cookie, un usuario ajeno, puede ingresar desde otro ordenador y realizar cualquier actividad de tu usuario legitimo, ya que hasta que el usuario habra otra session en otro ordenador puede pasar horas o dias, tiempo suficiente para un persona ajena haga lo que quiera
  2. si los tokens son faciles ed adivinar ten por seguro que asi seria, pero ponle mas ENTROPIA a los token, usa variables, como microsegundos,IP del cliente, multiplica los puntos donde estuvo el MOUSE,etc

generalmente el secuestro de sessiones o Cookies, solo es de importancia para webs que manejen Asuntos de DInero, si tu we trabaja bajo SSL/HTTPS, es dificil secuestrar Cookies, si es por HTTP, tu usuario se coencta por Wifi, es sencillo que un Tercero se cuele y le copie los datos.
__________________
Mis aportes te ayudaron??, te hicieron ahorrar valiosos tiempo??, si quieres puedes agradecerme con un Gracias o con una donacion
https://paypal.com/pools/c/8lmNLmWnG9
  #7 (permalink)  
Antiguo 01/11/2018, 07:38
alvaro_trewhela
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: ¿Es correcta esta forma de mantener al usuario logueado?

Cita:
Iniciado por juanito1712 Ver Mensaje
alvaro_trewhela.

hay un único string por usuario, a cada inicio de sesión cambia el string y en caso de acceder desde otro equipo el anterior dejaría de existir y su "sesion" moriría si cometes el error de mantener la sesión abierta en un equipo ajeno se destruirá al iniciar sesión de nuevo
Entonces para que haces tanta validación... con esto último que expones no sirve de nada tu sistema...

Para que crear tokens y demases si me logeo desde otro pc se borra y queda como si nada...
  #8 (permalink)  
Antiguo 01/11/2018, 17:47
Avatar de xfxstudios  
Fecha de Ingreso: junio-2015
Ubicación: Valencia - Venezuela
Mensajes: 2.448
Antigüedad: 9 años, 4 meses
Puntos: 263
Respuesta: ¿Es correcta esta forma de mantener al usuario logueado?

Debes decidirte si tu sistema va a ser multisesion o no, las cookies yo no las uso para estos menesteres, en todo caso las uso para objetos de personalización de una app, por ejemplo que el usuario escoja ciertos colores para su interface.

Por otro lado, podrías crearte un sistema de doble factor donde el usuario reciba un código para completar el login o para cerrar sesiones remotas.

Yo en mi caso utilizo en mis sistemas un token único el cual es la única variable de sesión, dentro de esta están los valores utilizados en el sistema, de igual manera tiene ciertos códigos que se encargan de validar la sesión del usuario con una combinación de la IP y un datetime, para generar y validar dicho token utilizo la tecnología de los Json web token https://jwt.io es bastante buena y con ciertos ajustes la puedes implementar en tus proyectos.

Prueba y cuéntanos si es lo que buscas hacer.
__________________
[email protected]
HITCEL

Etiquetas: correcta, forma, usuario
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 08:17.