Foros del Web » Programando para Internet » PHP »

Sesiones + Windows

Estas en el tema de Sesiones + Windows en el foro de PHP en Foros del Web. Estoy usando sesiones en mi Sitio pero las uso con PHP 4.3.0 y Win 2003. Lo que me pasa es que las variables de sesión, ...
  #1 (permalink)  
Antiguo 15/06/2004, 07:49
Avatar de Reynier  
Fecha de Ingreso: noviembre-2002
Ubicación: Por ahí en algún sitio
Mensajes: 1.844
Antigüedad: 15 años
Puntos: 1
Sesiones + Windows

Estoy usando sesiones en mi Sitio pero las uso con PHP 4.3.0 y Win 2003. Lo que me pasa es que las variables de sesión, o mejor dicho, los archivos que PHP me crea al iniciarse mi aplicación no se destruyen al cerrar el navegador y esto me preocupa puesto que en las mismas tengo datos de los usuarios registrados en la misma y que podrían ser objetivo de un ataque de algún hacker ingenioso. ¿Qué hago para que estas se eliminen?

Salu2
__________________
Ing. Reynier Pérez Mira
  #2 (permalink)  
Antiguo 15/06/2004, 08:50
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 15 años, 11 meses
Puntos: 126
En PHP.net en el apartado sesiones tienes vários comentarios sobre los problemas del proceso "garbage" (borrado de tus archivos de sesión) y unos comentarios sobre lo que puede ocurrir en windows.

En principio .. el nivel de sub-directorios que se encuentre el directorio que indicas en session.save_path puede afectar (ahí un parámetro más que le indicas el nº de sub-ramas que se encuentra ..).

Por lo demás .. el proceso de "garbage" se inicia según se define en la directiva:

session.gc_probality

Eso define el porcentaje (depende de la únidad que defina la otra directiva relacionada con el tema: www.php.net/session para más info) en que se ejecuta session_start() (equivalenet a "accesos a tus páginas") para que se inicie dicho proceso de "borrado" físico de esos archivos.

Si por A o B mótivo .. tu servidor o S.O. no es capaz de iniciar ese proceso .. Create una "taréa programada" en Windows y ejecuta un comando DOS tipo "DELETE *.*" a ese directorio a los intervalos que definas (esto te dará problemas si borras sesiones que estén activas ..)

Pero .. fuera de que PHP por configuración o "coincidencias" (ejemplo: no hay suficientes ejecuciones de session_start() para que se inicie el proceso de "garbage") .. si piensas que un "hacker" va a entrar a tu servidor a un directorio fuera de tu "Document_root" para ver unos datos de una sesión .. creo que en ese momento ya se te estará "robando" hasta tus .php y base de datos enteras creo yo ... La preocupación es sana ante problemas de seguridad pero todo en su justa medida.
  #3 (permalink)  
Antiguo 15/06/2004, 09:45
Avatar de Reynier  
Fecha de Ingreso: noviembre-2002
Ubicación: Por ahí en algún sitio
Mensajes: 1.844
Antigüedad: 15 años
Puntos: 1
Cluster

Cluster estuve revisando la documentación que me dejastes y no encontré mucho sobre el proceso de garbage del que me hablas. Pues bien esto fue algo de lo que encontré al respecto:
Cita:
Session Garbage Collection Observation:

It appears that session file garbage collection occurs AFTER the current session is loaded.

This means that:
even if session.gc_maxlifetime = 1 second,
if someone starts a session A and no one starts a session for an hour, that person can reconnect to session A and all of their previous session values will be available (That is, session A will not be cleaned up even though it is older than gc_maxlifetime).
pero no entendí mucho. Estuve pensando que cuando el usuario hiciera logout hacer un unlink del archivo de session pero como podría saber el nombre del mismo? Lo que no se es si establezco la variable session.cookie_domain a rpm por ejemplo entonces mis sessiones serían así
Cita:
rpm_28e6dee0947a74bc84729588452ec614
porque por defecto se ponen así:
Cita:
sess_28e6dee0947a74bc84729588452ec614
y lo otro sería que también debería iniciar la sesión dentro del mismo directorio donde esta mi script por ejemplo : raiz/sessiones/ ¿qué me recomiendas al respecto?

Salu2
__________________
Ing. Reynier Pérez Mira
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 03:27.