Foros del Web » Programando para Internet » PHP »

session_destroy();

Estas en el tema de session_destroy(); en el foro de PHP en Foros del Web. Buenas Noches Estoy usando un link de logout en mi sistema, al momento de darle click le asigno el valor de 0 a mi variable ...
  #1 (permalink)  
Antiguo 25/08/2006, 22:13
 
Fecha de Ingreso: agosto-2006
Mensajes: 58
Antigüedad: 11 años, 3 meses
Puntos: 0
session_destroy();

Buenas Noches

Estoy usando un link de logout en mi sistema, al momento de darle click le asigno el valor de 0 a mi variable de sesion (1=activa, 0=no activa) tengo condicionado a que cuando el valor de mi variable de sesion sea 0 me redireccione a index.php,eso funciona bien. bueno aqui va el problema, al momento de darle log out pongo la funcion session_destroy(); y llego a index.php, el problema es que los usuarios pueden darle back y continuar con la sesion...

alguna idea??

saludos!
  #2 (permalink)  
Antiguo 25/08/2006, 22:18
 
Fecha de Ingreso: agosto-2006
Mensajes: 50
Antigüedad: 11 años, 3 meses
Puntos: 0
quizas te falta llamar a la sesion, yo haria una pagina de cerrar sesion asi

<?php
session_name("algun nombre"); //<<--- si es que le asignaste algun nombre
session_start();
session_destroy();
header("Location:login.php");
?>

o que te redireccione a alguna pagina de tu sitio, haci al hacer atras siempre cerraria la sesion

saludos!

  #3 (permalink)  
Antiguo 25/08/2006, 22:23
Avatar de claudiovega  
Fecha de Ingreso: octubre-2003
Ubicación: Puerto Montt
Mensajes: 3.667
Antigüedad: 14 años, 1 mes
Puntos: 11
Creo que deberías "matar" la sesion completamente y luego comprobar en cada pagina si existe o no la sesion.

para "matar" la sesion:

Código PHP:
<?php
   session_start
();
   unset(
$_SESSION);
   
session_destroy();
?>
en las otra paginas.
Código PHP:
<?php
   session_start
();
   if(!isset(
$_SESSION))
   {
       
header("Location: ruta/index.php");
       exit();
   }
?>
  #4 (permalink)  
Antiguo 25/08/2006, 22:25
 
Fecha de Ingreso: agosto-2006
Mensajes: 58
Antigüedad: 11 años, 3 meses
Puntos: 0
me sigue pasando lo mismo, se va a index.php y le doy back, aparece el warning de post data y la variable de sesion vuelve a ser 1
  #5 (permalink)  
Antiguo 25/08/2006, 22:32
 
Fecha de Ingreso: agosto-2006
Mensajes: 58
Antigüedad: 11 años, 3 meses
Puntos: 0
de hecho tengo validado algo parecido con una variable $_SESSION['sesion_activa']
si es 1 sigue el sistema, si es diferente a 1 te vas a login, pero aun asi me puedo regresar con back :S
  #6 (permalink)  
Antiguo 25/08/2006, 22:38
 
Fecha de Ingreso: marzo-2002
Ubicación: Salta Capital - Actualmente estudiando en Córdoba
Mensajes: 430
Antigüedad: 15 años, 8 meses
Puntos: 0
Ahora cuando regresas con back, si haces F5, sigue activa?
__________________
Nada es imposible, con un poco de esfuerzo se logran las cosas.-
  #7 (permalink)  
Antiguo 25/08/2006, 22:41
 
Fecha de Ingreso: agosto-2006
Mensajes: 58
Antigüedad: 11 años, 3 meses
Puntos: 0
si señor, tiene algo que ver que ando en firefox con linux?? le doy back y me aparece el warning de POSTDATA que seria el F5 de explorer, y se vuelve a cargar la pagina con la variable="1"
  #8 (permalink)  
Antiguo 26/08/2006, 02:40
Avatar de DjFaramir  
Fecha de Ingreso: febrero-2003
Ubicación: La Plata, Buenos Aires, Argentina
Mensajes: 131
Antigüedad: 14 años, 9 meses
Puntos: 0
el back que tu dices, y el warning de postdata es en la pagina que contiene el login?
quizas cuando aceptan el postdata en ese back lo que estan haciendo es logearse denuevo y volver a crear la session como si estuviera validando los datos del formulario de logeo...
__________________
See you... y Tolkien... mucho Tolkien...
  #9 (permalink)  
Antiguo 26/08/2006, 18:01
 
Fecha de Ingreso: agosto-2006
Mensajes: 58
Antigüedad: 11 años, 3 meses
Puntos: 0
buen punto...
  #10 (permalink)  
Antiguo 26/08/2006, 19:16
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 11 años, 6 meses
Puntos: 2122
Lo mas facil para "desloggear" es algo asi, a mi me funciona perfectamente y nunca tengo errores ni cuando back.

Código PHP:
session_start();
$_SESSION = array();
header"Location: login.php" ); 
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 02:01.