Cita:
Iniciado por Patroclus02
Creo que comprendo el concepto SID. yo no inserto manualmente el id ni en links ni nada, porque entre otras cosas, lo unico que hago es refrescar la web, es decir, que accedo a ella de nuevo. Y se pierde el SID,... yo no veo nada en la configuracion de sesion que me da phpinfo que pudiera producir esto...
Si tu no propagas el SID a mano .. lo dejas que lo haga PHP.
PHP tiene dos formas para propagar el SID (Identificador Único de Sesión) .. ese dato es el que nos "referencia" los datos de la sesión en el servidor (archivo físico) con el "cliente" que las creó y le pertenecen.
PHP al iniciar un script con session_start() lo que hace es que va a "buscar" un SID propagado a ese script por algún médio: URL o en una cookie. Si no encuentra un SID válido o no existe (caso que ocurre cuando no se consigue propagar) .. se crea uno nuevo y en consecuencia una sesión nueva (con archivo físico incluido en el servidor).
Así qué, si dices que Tu a mano no propagas el SID en tus links o redireccionamientos que hagas (sean por cabeceras HTTP, javascript o como quieras). Tendrás que "ver" que PHP lo haga por tí.
No sé que código usas ni como "vuelves a tu misma página" . .no sé si usas un link, javascript .. o un header("Location ...") o como ...
Lo más "sano (menos complicado para tu código)" y a la vez "seguro" es dejar a PHP que propague ese SID en una cookie que PHP creará automáticamente si así se lo dices:
(php.ini)
session.use_trans_sid = 0 (recomendable desactivar esta si ya lo hacemos por la otra).
session.use_cookies = 1 (sobre todo esta directiva)
session.use_only_cookies = 1
Si ya usas "session.use_cookies = 1" y la sesión (el SID) sigue sin poder propagarse, revisa tu navegador que no esté bloqueando las cookies que PHP está generando (revisa tu nivel de seguridad) .. Revisa tu antivirus si lo usas (algunos "capturan" cookies o las filtran como "seguridad") .. En fin, intenta evaluar que esa cookie la estás recibiendo.
La otra prueba que puedes hacer para salir de dudas es propagar definitivamente el SID en el URL manualemnte Tu mismo. Para usa la constante: SID en tus links/redireccionamientos que hagas y chequea de nuevo tu sistema .. si así te funciona, definitivamente tienese problemas con las cookies que PHP está creando para propagar el SID.
Un saludo,