Foros del Web » Programando para Internet » PHP »

cerrar sesion

Estas en el tema de cerrar sesion en el foro de PHP en Foros del Web. HOla a todos, he estado buscando informacion en internet y no encuentro ninguna solucion que me funcione. Os comento, me gustaria cerrar sesion cuando se ...
  #1 (permalink)  
Antiguo 03/06/2010, 09:25
 
Fecha de Ingreso: mayo-2009
Mensajes: 64
Antigüedad: 14 años, 10 meses
Puntos: 1
Mensaje cerrar sesion

HOla a todos, he estado buscando informacion en internet y no encuentro ninguna solucion que me funcione.
Os comento, me gustaria cerrar sesion cuando se cierre el explorador.
Se cierra sesion cuando pulsa logout o cuando esta un tiempo inactiva pero cuando cierro la X del explorador no puede volver iniciar la sesion con ese usuario.
He visto que si pones:
ini_set("session.use_only_cookies","1");
ini_set("session.use_trans_sid","0");
ini_set('session.cookie_lifetime', "0");
session_set_cookie_params(0, "/", $HTTP_SERVER_VARS["HTTP_HOST"], 0);

deberia de funcionar, pero no me funciona.
Espero que me podais ayudar.
Espero vuestra contestacion
  #2 (permalink)  
Antiguo 03/06/2010, 09:32
Avatar de Sommy  
Fecha de Ingreso: septiembre-2008
Mensajes: 228
Antigüedad: 15 años, 6 meses
Puntos: 6
Respuesta: cerrar sesion

Estas segura que son solo sesiones y no hay cookies? A veces esas cosas tambien tienen que ver con el navegaor que uses...
__________________
Si aún lo llevas, dejalo...
Programador PHP argentina
  #3 (permalink)  
Antiguo 03/06/2010, 10:13
 
Fecha de Ingreso: mayo-2009
Mensajes: 64
Antigüedad: 14 años, 10 meses
Puntos: 1
Respuesta: cerrar sesion

Cita:
Iniciado por Sommy Ver Mensaje
Estas segura que son solo sesiones y no hay cookies? A veces esas cosas tambien tienen que ver con el navegaor que uses...
NO uso cookies, utilizo variables de sesion
Me acabo de dar cuenta de una cosa, tengo puesto:
<meta http-equiv="refresh" content="1200" />
cuando hay dos usuarios conectados y los dos pulsan F5 uno de ellos cogen el usuario del otro. NO se si me he explicado bien. Como puedo solucionarlo??
  #4 (permalink)  
Antiguo 03/06/2010, 10:39
Avatar de Sommy  
Fecha de Ingreso: septiembre-2008
Mensajes: 228
Antigüedad: 15 años, 6 meses
Puntos: 6
Respuesta: cerrar sesion

Que lio... probaste usando sesiones en la base de datos por ip?

Sera porque los 2 usuarios estan bajo el mismo router?? tienen la misma ip, te recomiendo que manejes sino session_id... rellenas un session y guardas el id de la misma en una cookie, luego si vuelve a entrar le indicas cual es el id de la session de esa maquina/cliente...

http://php.net/manual/en/function.session-id.php
__________________
Si aún lo llevas, dejalo...
Programador PHP argentina
  #5 (permalink)  
Antiguo 03/06/2010, 10:49
Avatar de Sommy  
Fecha de Ingreso: septiembre-2008
Mensajes: 228
Antigüedad: 15 años, 6 meses
Puntos: 6
Respuesta: cerrar sesion

Esto puede serte de interes... explica como usar el mysql para controlar las sesiones... podes saber cuantos usuarios estan logeados, y quienes son... no vas a tener mas ese tipo de problemas.

http://www.tonymarston.net/php-mysql...n-handler.html
__________________
Si aún lo llevas, dejalo...
Programador PHP argentina
  #6 (permalink)  
Antiguo 03/06/2010, 11:04
 
Fecha de Ingreso: mayo-2009
Mensajes: 64
Antigüedad: 14 años, 10 meses
Puntos: 1
Respuesta: cerrar sesion

ahora lo estoy probando en un servidor local.
Lo que hago es usar el usuario $_SESSION['usuario'] y controlo si esta conectado o no que es lo que guardp en la base de datos. Cuando cierro sesion destruyo la sesion y modifico la base de datos a no conectado.
VOy a mirar lo de session_id.
Pensaba que cookie y variable sesion eran muy parecidas.
  #7 (permalink)  
Antiguo 03/06/2010, 11:20
 
Fecha de Ingreso: mayo-2009
Mensajes: 64
Antigüedad: 14 años, 10 meses
Puntos: 1
Respuesta: cerrar sesion

Cita:
Iniciado por Sommy Ver Mensaje
Esto puede serte de interes... explica como usar el mysql para controlar las sesiones... podes saber cuantos usuarios estan logeados, y quienes son... no vas a tener mas ese tipo de problemas.

http://www.tonymarston.net/php-mysql...n-handler.html


COn esto te refieres a que creo una tabla de sesiones en la base de datos???
La verdad que no lo entiendo muy bien, en session_id meto el usuario que es unico.
Voy a seguir mirandolo porque no me entero de mucho
Gracias
  #8 (permalink)  
Antiguo 03/06/2010, 12:19
Avatar de Sommy  
Fecha de Ingreso: septiembre-2008
Mensajes: 228
Antigüedad: 15 años, 6 meses
Puntos: 6
Respuesta: cerrar sesion

Cita:
Iniciado por monsa Ver Mensaje
ahora lo estoy probando en un servidor local.
Lo que hago es usar el usuario $_SESSION['usuario'] y controlo si esta conectado o no que es lo que guardp en la base de datos. Cuando cierro sesion destruyo la sesion y modifico la base de datos a no conectado.
VOy a mirar lo de session_id.
Pensaba que cookie y variable sesion eran muy parecidas.
cookie y session son lo mismo, solo que una se aloja en tu PC y la otra en el servidor, son mas seguras e inaccesibles para adulterar.

Con lo otro si, me refiero a guardar en la base de datos el IP de la persona y el session_id... Eso usan los mas grandes proyectos de PHP, Drupal, Joomla, este foro, magento, etc etc.

Saludos!
__________________
Si aún lo llevas, dejalo...
Programador PHP argentina
  #9 (permalink)  
Antiguo 05/06/2010, 02:28
 
Fecha de Ingreso: mayo-2009
Mensajes: 64
Antigüedad: 14 años, 10 meses
Puntos: 1
Respuesta: cerrar sesion

He estado viendo por ahi el control de sesiones y el session_id no se suele usar.
Aver los que hago es comprobar si ek usuario(unico) y la contraseña son correctas entonces relleno $_SESSION con el usuario, en la pagina miro si $_SESSION existe con isset y le muestro la pagina. EL isset lo hago en todas las paginas para que no se pueda acceder a la pagina si no te has logueado,mediante la direccion en el navegador.
Lo que esta claro es que hay una suplantacion de usuario cuando doy a F5 y no lo entiendo porque cada sesion es independiente.

Etiquetas: cerrar
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 09:34.