Ver Mensaje Individual
  #1 (permalink)  
Antiguo 09/06/2008, 02:47
Avatar de keflipas
keflipas
 
Fecha de Ingreso: junio-2008
Mensajes: 1
Antigüedad: 15 años, 11 meses
Puntos: 0
Sesiones y Servidores Virtuales Apache

Buenas a todos, haber si alguien puede resolver el problema que tengo:

Tengo un servidor Apache2 con PHP 5. En ese servidor apache tengo montados varios Servidores Virtuales.

Por ejemplo, la ruta completa para acceder a una página web sería:
http://192.168.XXX.XXX/proyectos/proyecto_1/index.php
La ruta con el Servidor Virtual quedaría de la siguiente manera:
http://servidorvirtual/index.php
Explicado un poco la cosa como la tengo montada, me pasa lo siguiente:

Trabajo con sesiones para ir comprobando si el usuario sigue conectado a la página web cada vez que el usuario navega por la página. Si pasa X tiempo sin hacer nada, la sesión se destruye y vuelve a la página de logueo. Para esto cuando inicializo la sesión, creo una variable que la voy pasando por cada página que el usuario visita, para comprobar si sigue conectado. Lo que me pasa es que si entro a la página web por medio de la ruta completa, funciona perfectamente, pero si entro por medio de la ruta corta, las sesiones se inician pero no se mandan a otras páginas.

Para que quede más claro, os pongo a continuación el código que comprueba si el usuario sigue conectado:

<?php
session_start();

//COMPRUEBA QUE EL USUARIO ESTA AUTENTIFICADO
if ($_SESSION["autentificado"] == "SI") {

$aux=1;
$fechaGuardada = $_SESSION["ultimoAcceso"];
$ahora = date("Y-n-j H:i:s");
$tiempo_transcurrido = (strtotime($ahora)-strtotime($fechaGuardada));

if($tiempo_transcurrido >= 900) {
$_SESSION["autentificado"]= "NO";
session_destroy();
header ("Location: index.php");
} else {
$_SESSION["ultimoAcceso"] = $ahora;
}

} else {

header ("Location: index.php");
}
?>


Esta es mi página de control. Cada página de mi web tiene un include a este código para comprobar.

Estoy dándole vueltas y no encuentro la causa.

Alguna solución?

Un saludo.

P.D: Como no sé si es problema de configuración de mi servidor o es problema del código, lo he escrito en esta sección.