Ver Mensaje Individual
  #3 (permalink)  
Antiguo 15/08/2007, 20:48
Avatar de emprear
emprear
Colaborador
 
Fecha de Ingreso: junio-2007
Ubicación: me mudé
Mensajes: 8.388
Antigüedad: 17 años, 4 meses
Puntos: 1567
Re: Detectar cierre del browser

Lo que quieres tiene un problema insoluble, puedes registrar cualquier actividad una vez que el usuario se logea, pero si el usuario no se desloguea, (acción a la que no puedes condicionarlo mientras navega) nunca sabrás cuando decidió abandonar la sesion (entiendáse por esto cerrar el navegador sin haber hecho el correspondiente 'logout')
Por supuesto que hay otras alternativas, hacer caducar las sesiones por medio de sessions o cookies y obligarlo a relogonearse (permítaseme el término) si hubo tiempos de inactividad prolongados (algo similar a lo que hacen en este foro, que si te demoras más de la cuenta en contestar un mensaje, te envía a la pantalla del login nuevamente)
Una oportunidad me había obsesionado con esto y recurrí a lo siguiente (en el caso de php se puede hacer todo en la misma base de datos), al logearse, verificaba al usuario y si no existía escribía un archivo utilizando como nombre el id del mismo, ese archivo era borrado por el 'logout', si volvia logearse y se detectaba la presencia del archivo (evidencia de que no había hecho el logout) le aparecía una advertencia y creaba un nuevo archivo con un contador que ponia en uno...cuando el contador llegaba a tres la advertencia se convertía en sanción y era expulsado del registro.
Parece rebuscado pero funcionaba bien. El tema es que tanto les importa a tus usuarios las sanciones que les puedas aplicar.

Saludos