Foros del Web » Programando para Internet » PHP »

Activar session.use_trans_sid

Estas en el tema de Activar session.use_trans_sid en el foro de PHP en Foros del Web. Hola Estoy intentando hacer un script php usando sesiones, pero tengo un pequeño problema. Funciona perfectamente en Mozilla i no el en Explorer (cada vez ...
  #1 (permalink)  
Antiguo 20/02/2004, 06:01
 
Fecha de Ingreso: febrero-2004
Mensajes: 2
Antigüedad: 20 años, 2 meses
Puntos: 0
Activar session.use_trans_sid

Hola

Estoy intentando hacer un script php usando sesiones, pero tengo un pequeño problema.

Funciona perfectamente en Mozilla i no el en Explorer (cada vez que miro la pàgina se crea un nuevo número de sesion, con lo que pierde qualquier validez). Y se tiene que tratar de algo del servidor porque el explorer puede ver ejemplos ejecutandose en otros servidores.

Creo que debe tener algo que ver con la opcion session.use_trans_sid

actualmente está a OFF, como la activo?

por acaso adjunto el codigo PHP para ver si he hecho algun error :(:

<?
session_set_cookie_params(60);
session_start();

if(!isset($_SESSION["usuari"]))
{
//Comprovem que siguin certs.
if(isset($_POST["username"]) && isset($_POST["password"]) &&
mysql_fetch_array(mysql_query("SELECT boxname FROM boxauth WHERE boxname = '".$HTTP_POST_VARS["username"]."' AND boxpwd = encrypt( '".$HTTP_POST_VARS["password"]."', boxpwd )",$link)))
{
//Usuari i pass correctes, posem la cookie.
$_SESSION["usuari"]=$_POST["username"];
//echo "<a href=".$thisscript.">Continuar</a>";
header("Location: $thisscript");
exit;
}
else
{
//CARGA la pagina para autenticarse;
}
}
else
{
$username = $HTTP_SESSION_VARS["usuari"];
}

?>
Gracias
  #2 (permalink)  
Antiguo 20/02/2004, 06:56
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 22 años, 3 meses
Puntos: 129
El SID (Identificador Único de Sesión) puedes propagarlo de tres formas:

1) Por el URL de forma automática .. Para eso requieres que la directiva session.use_trans_sid = 1 (ON)

2) Por el URL de forma manual .. Para esto require que tu en tu programación propagues el SID en todos los links y redireccionamientos que hagas usando la constante SID o bien formandolo con las funciones: session_name()."=".session_id()

3) Usando COOKIES para propagar el SID (sólo el identificador .. tus variables de sesión no saldrán del servidor hacia la cookie)

De las 3 formas propuestas . .la 3ª es la más segura y la más simple de implementar en tus apliaciones. Pero, al usar cookies requieres de un navegador que las acepte.

Según tu programación .. NO propagaas el SID manualmente .. y usas redireccionamientos tipo header ("location ...") .. En esos casos PHP aunque tengas la directiva session.use_trans_sid a ON, no va a reescribir ese URL para añadirel el SID como así lo hace si esa directiva está activada .. pero lo hace sólo en LINK tipo <a href ...>, en formularios como un campo hidden nuevo .. y poco más. Redireccionamientos javascript, <meta de refresh ...> y los header ("location ..) no los sobreescribe.

Las directivas como las que mencionas de session.use_trans_sid las puedes ajustar desde el php.ini cambiando su valor ahí (si dice ON .. a OFF o al reves ..)

Si no tienes acceso a tu php.ini .. puedes hacerlo por un .htaccces o en tiempo de ejecución de tus scripts por la función ini_set() al principio de tus scripts (antes por lo menos de usar session_start() o cualquier otra función de sesiones).

Por lo demás .. para probar el sistema quitaría la función que usas:
session_set_cookie_params(60);
lee los comentarios de los usuarios (sobre todo ese que hace refencia a IE 6 por si lo usas ..)
http://www.php.net/manual/en/functio...kie-params.php

Un saludo,
__________________
Por motivos personales ya no puedo estar con Uds. Fue grato haber compartido todos estos años. Igualmente los seguiré leyendo.
  #3 (permalink)  
Antiguo 20/02/2004, 07:09
 
Fecha de Ingreso: febrero-2004
Mensajes: 2
Antigüedad: 20 años, 2 meses
Puntos: 0
Propongo mi crucificción pública

de forma inexplicable la fecha i hora del servidor estavan cambiados. Y entonces, como dice el del post el explorer no aceptava la cookie.

Muchas gracias

nos vemos

Xavi
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 01:03.