Php+Sesiones+IIS

chencho
22 de Abril del 2005
Hola!

Tengo un problema con el IIS y las sesiones.

El caso es que el desarrollo de la aplicación ha estado fucnionando sin problemas con el apache.

Inicio una sesion (para el login), y la paso por url a la siguiente página; si no existe o coincide, muestra un mensaje; si coincide, deja entrar (típico login, vamos).

Lo dicho, con el apache funciona, crea la sesion y la pasa por url.

El problema viene con el IIS, que por cada página, me crea una sesión diferente, por lo tanto la sesión no coincide y no deja pasar.

El código de la página de login es:

//recibimos el login/pass y es correcto:

session_start();
session_register('sess_ide');

#asignamos a la variable de sesion el id de la sesion
$sess_ide=session_id();

...

//redirijo a la página de "admin"
echo '<meta http-equiv="Refresh" content="2; url=admin.php?sess_ide='.$sess_ide.'" />';

Hasta aqui todo ok, ha creado una sesión y la pasa por url a la página admin (en el navegador se puede leer la sesión, y la pasa bien).

Ahora el código de admin:

$sess_ide = $_GET[sess_ide];
session_register('sess_ide');
session_cache_limiter('nocache,private');
if(session_id()!=$sess_ide)
{
echo "<h1>No tienes permiso para entrar aqui.</h1>";
exit();
}

Y ahora está el problema. En el apache fucniona sin más, pero en el IIS AHORA crea otra sesión, por lo que session_id y sess_ide no son iguales y peta la aplicación Sad

Como lo véis???