Foros del Web » Programando para Internet » PHP »

Control de usuarios

Estas en el tema de Control de usuarios en el foro de PHP en Foros del Web. Amigos, tengo un tremendo problema, en la empresa donde yo trabajo quieren tener un control de los usuarios conectados (la idea es que se puedan ...
  #1 (permalink)  
Antiguo 09/08/2004, 07:28
 
Fecha de Ingreso: abril-2004
Ubicación: Viña del Mar
Mensajes: 16
Antigüedad: 20 años
Puntos: 0
Control de usuarios

Amigos, tengo un tremendo problema, en la empresa donde yo trabajo quieren tener un control de los usuarios conectados (la idea es que se puedan logear una sola vez). Lei en los faq`s de esta página como poder hacer un control con un archivo de texto, incluso encontre como hacerlo con una tabla en una Bd, pero el problema sucede cuando quiero descolgarlos del sistema, porque sucede que no todos los usuarios hacen logout como corresponde, entonces quedarían atrapados en este archivo... probé con javascript con la función onunload, pero resulta que cuando se cambia de página lo renoco como que abandonó el sitio (no distingue entre cerrar ventana y salir de la página)... Alguién tiene alguna idea de como poder hacerlo?... agradesco de ante mano toda la ayuda que puedan dar.
  #2 (permalink)  
Antiguo 09/08/2004, 20:49
 
Fecha de Ingreso: julio-2004
Mensajes: 64
Antigüedad: 19 años, 9 meses
Puntos: 0
Hola,
Yo buscaria la solucion por las variables de SESSION con el valor caducado, hay la posibilidad de saber si esta o no en la aplicacion a través si inicio la session o no y ese valor se puede guardar una tabla cada cierto tiempo para saber exactamente donde esta el usuario sino lo escribe y en tu aplicacion de monitoreo tomas la hora actual lees la tabla y si han pasado mas de 5 minutos entonces listo ya no esta conectado.
Ojala que te haya ayudado en empezar la solucion, busca todas las preguntas por Session yo lo he leido en algun momento.
Saludos
Ricardo.
  #3 (permalink)  
Antiguo 09/08/2004, 21:03
Avatar de jpinedo
Colaborador
 
Fecha de Ingreso: septiembre-2003
Ubicación: Lima, Perú
Mensajes: 3.120
Antigüedad: 20 años, 7 meses
Puntos: 41
Y como ejemplo.. mira este post:

http://www.forosdelweb.com/f18/usuarios-registrados-167694/

Saludos
  #4 (permalink)  
Antiguo 12/08/2004, 07:37
 
Fecha de Ingreso: abril-2004
Ubicación: Viña del Mar
Mensajes: 16
Antigüedad: 20 años
Puntos: 0
bueno amigos, muchas gracias por su ayuda, al final cree una tabla y ahi guardo los usuarios que se conectan, pero ahora mi duda es la siguiente ¿Puedo hacer un session_destroy() en forma remota?, me explico, cuando el usuario se conecte desde otra maquina y este aparesca aun en la tabla pueda destruirle la sesión teniendo el identificador guardado, si trato de realizarlo me arroja el siguietne error:

Warning: Trying to destroy uninitialized session

¿Como puedo solucionar eso, o definitivamente lo desvio a otra pagina hasta que el tiempo de expiración finalice?

A todo esto, la tabla guarda el username, la fecha y hora de conexión y el identificador de session.
  #5 (permalink)  
Antiguo 12/08/2004, 08:35
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 22 años, 4 meses
Puntos: 129
El mensaje de error te dice que no usastes session_start() antes de pretender usar session_destroy() .. por ende "PHP" no sabe que sesión es la que vas a eliminar.

Recuerda que las sesiones son únicas para el cliente que las crea y "PHP" lleva su control de cuales tiene creadas bajo el denominado "SID" (Identificador único de sesión) que tanto se omite pero es el pilar fundamental de las sesiones.

Seguro que no conoces ni que es el "SID" por qué PHP propaga el SID en cookies, así que no lo vés directamente y sólo te "das" cuenta de que algo falla cuando lo pierdes como es tu caso puntual.

Un saludo,
  #6 (permalink)  
Antiguo 12/08/2004, 08:42
 
Fecha de Ingreso: abril-2004
Ubicación: Viña del Mar
Mensajes: 16
Antigüedad: 20 años
Puntos: 0
Bueno de echo si conozco el SID, y lo uso, además php lo tengo configurado para que lo propage por medio de la URL, mi duda va en que si yo puedo matar una sesión de otro usuario, obviamente sabiendo su SID. La tabla que uso es la siguiente:

CREATE TABLE sessiones (
USUARIO___SES VARCHAR(40) NOT NULL PRIMARY KEY,
FECHA_____SES TIMESTAMP,
ID________SES VARCHAR(80));

el campo ID________SES guarda el SID de la sesión de cada usuario, pero como puedo controlar que el usuario no se logee mas de 1 vez sabiendo su SID. Por ahora lo desvio a otra pagina, hasta que el tiempo de caducidad haya pasado (uso 1 hora).

Bueno eso, ojala puedas ayudarme.

Saludos,
  #7 (permalink)  
Antiguo 12/08/2004, 09:05
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 22 años, 4 meses
Puntos: 129
Si tu lógica ya valida tiempos de expiración para esa sesión .. no tiene sentido "forzar" a PHP para tal fin ..

De hecho estás reescribiendo/duplicando la gestión de sesiones de PHP, por qué con tu BD que guardas sesiones y tiempos ya tienes el 90% de lo que hace PHP de por sí .. te faltaría sólo tener un campo más para meter ahí serializadas por ejemplo las variables que contenga esa sesión.

Te vendría bien ver como se realiza el cambio del "handdler" completo (el "cómo guarda y gestiona las sesiones") PHP en:
http://www.php.net/manual/en/functio...ve-handler.php

Tienes ahí mismo ejemplos.

Y otro ejemplo que usa Mysql:
http://www.zend.com/zend/spotlight/c...lery-wade8.php

Si gestionas completamente tu mismo el "handdler" .. borrar una sesión (matarla) se trataría sólo de eliminar dicho registro de tu tabla, por qué todo lo gestiona tu tabla en tu BD.

---------
De todas formas .. si quieres probar algo que no sé si funcionará:

En teoría .. se puede definir el ID de una sesión en:

Código PHP:
<?
//tu lógica para obtener tu SID de tu BD 
session_start($tu_sid);
//así que podrías hacer a continuación (si supuestamente iniciastes esa sesión):
session_destroy();
?>
Un saludo,
  #8 (permalink)  
Antiguo 12/08/2004, 09:21
 
Fecha de Ingreso: abril-2004
Ubicación: Viña del Mar
Mensajes: 16
Antigüedad: 20 años
Puntos: 0
Hola, bueno la tabla la uso para saber cantidad de usuarios conectados y esas cosas, no para gestionar todo lo relacionado a la sesión, pero voy a echar una mirada a las páginas que me diste, haber si puedo solcionar mi problema.

Muchas gracias por tu ayuda.

Saludos,
  #9 (permalink)  
Antiguo 07/11/2007, 10:24
Avatar de tricampeon27  
Fecha de Ingreso: enero-2007
Ubicación: Macul
Mensajes: 300
Antigüedad: 17 años, 3 meses
Puntos: 0
Re: Control de usuarios

saben , nesecito controlar las pagina web

por ejemplo:

tengo un localhosto donde todos deben pasar por login.php si no pasan deben entrar al sistema
nesecito ayuda , ya e publicado este tema varias vez
__________________
*****Si Hasta En La Cana X Ti Estado*****
  #10 (permalink)  
Antiguo 07/11/2007, 10:34
Avatar de kaninox  
Fecha de Ingreso: septiembre-2005
Ubicación: In my House
Mensajes: 3.597
Antigüedad: 18 años, 7 meses
Puntos: 49
Re: Control de usuarios

yo tengo algo bien noob, con codigo para descargarlo free.
en http://www.novacreations.net/aplicacion/
te lo bajas eso si le falta seguridad y pasar variables por session pero ya esta la idea, lo que me recuerda debo actualizarlo :P
__________________
Gokuh Salvo al mundo. PUNTO!!!!
  #11 (permalink)  
Antiguo 07/11/2007, 10:58
Avatar de tricampeon27  
Fecha de Ingreso: enero-2007
Ubicación: Macul
Mensajes: 300
Antigüedad: 17 años, 3 meses
Puntos: 0
Re: Control de usuarios

hola kaniox , tu me puedes ayudar por fa???
__________________
*****Si Hasta En La Cana X Ti Estado*****
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 06:18.