Ver Mensaje Individual
  #3 (permalink)  
Antiguo 14/04/2008, 09:17
franklinux
 
Fecha de Ingreso: febrero-2008
Mensajes: 72
Antigüedad: 16 años, 2 meses
Puntos: 0
Re: Problemas con sesiones y firefox ¿que hago?

Que tal eulloa, mira no es ún problema lo que tienes, si no que lo que pasa contigo es que no conoces a fondo sobre sesiones a php.

lo que pasa es que has de cuenta que si tú mandas, arrancar tu sesión necesitas tener un apartado que despues de iniciar tu sesión tengas un link para hacer logout

ahora con respecto a firefox, es el único navegador que hace todo lo que le dices, y si arrancas tú sesión, sín darle tiempo de expiración siempre va a existir por lo menos 1 hora a diferencia de chafa Explorer que le vale queso y te cierra todas las sesiones si cierras el navegador.

ahora otra cosa veo que no validas el hecho de que si existe una sesión iniciada, no debe permitirte iniciar una sesión nueva hasta que cierres la actual.

te recomiendo que hagas lo siguiente:


amero arriba de tu página habre y cierra las etiqutas de php y coloca lo siguiente

Código PHP:
<?php
  
   session_name
('el_nombre_que_quieras');
   
session_start();


  
# hasta aquí no indica que ayas iniciado sesión, pero si que tu web maneja sesiones

 #ahora en la parte donde inicias sesión, aparte de asignarle el valor a tú variable de sessión.

 
$_SESSION['user_simple'] = $user;

 
# te convendría mandarle una cookie para validar tiempo de inactividad. esto es   por   
 #ejemplo si el usuario tiene unos 15 min. de no tocar la pc. pues que lo vuelva a mandar al login.

 
setcookie ("NOMBRE_QUE_QUIERAS""VALOR_QUE_QUIERAS"time() + 1800);


 
# ahora recuerdas que mencione una parte sobre el logout

 # pones en una página lo siguiente:

  
session_destroy();

  
setcookie('NOMBRE_QUE_QUIERAS',false);

  unset(
$_SESSION['NOMBRE_DE_TU_SESION']);

  
header('Location:login.php');

  exit();        
 
 
#  esté código que te pongo lo puedes poner directamente en una página, php
 # en blanco y solo pones lo que te puse.
 ######

 # y para validar la inactividad, en tus páginas has lo siguiente:


 
if( !isset($_SESSION['NOMBRE_DE_TU_SESION'])  || !isset($_COOKIE['NOMBRE_QUE_QUIERAS'] ) ){
    
    
header('Location.logout.php');
}else{
    
setcookie ("NOMBRE_QUE_QUIERAS""VALOR_QUE_QUIERAS"time() + 1800);
    
#vuelves a darle más via a tú cookie.
}


# espero poder haberte ayudado. cualquier cosa, comentalo. 
?>