Ver Mensaje Individual
  #5 (permalink)  
Antiguo 04/11/2003, 10:46
Cluster
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 22 años, 4 meses
Puntos: 129
Cita:
no entiendo lo que quieres decir:

<Otro detalle .. La sesión en sí (por defecto) crea un archivo .. <este archivo no es eliminado hasta que el proceso de "garbage"

te refieres al temporal del servidor? a la cookie en el cliente?
Me refiero al temporal del servidor y que si usas propagación del SID por cookies .. esa cookie guarda la referencia del SID en la cookie.

Cita:
<(basura) es iniciado .. pese que el ID de sesión no sea ya válido <por expirar la sesión .. Con esto quiero decir que, podrías <ajustar los tiempos de expiración de la sesión y del "garbage" <para que sólo te guardes el SID de la sesión de tu usuario ..

cómo se ajustan esos tiempos?
Vía php.ini o .htaccess o ini_set() directivas:

"expiración" (paso ese tiempo el SID no será valido y pasará al modo "basura" en espera de ser borrado fisicamente el archivo de sesión):
session.gc_maxlifetime = 1440

"garbage" = Porcentaje de veces que se inicia una sesión vía session_start() ...:

session.gc_probability = 1
session.gc_divisor = 100 (sólo para PHP 4.3.0 en adelante)

También tiene sus equivalentes para la cookie (si usas propagación del SID en cookie):

session.cookie_lifetime = 0


Cita:
< y la <próxima vez que tu usuario entre a tu sistema .. inicias la <sesión con el ID que tienes guardado (vía session_id($tu_id) ) ...
esto quiere decir primero iniciar la sesión, abrir el archivo, leer y convertir las variables en variables de sesión?
Si el archivo de sesión todavía está vigente (no expiró ajustanto las directivas que mencioné) .. podrías sólo guardarte el SID de la sesión en tu archivo de texto plano.

El inicio de esas sesiones sería:

Código PHP:
<?
session_start
();
session_id($tu_id_session);

// y a usar tus variables de sesión como lo haces actualmente.
?>
Pero, OJO .. Si el SID de sesión lo propagas por el URL .. sería potencialmente inseguro este sistema .. Imagina que por A o B motivo le llega un link de ese usuario con el SID activo y válido ... Entraría sin problemas a la sesión .. pues es válida. Aunque, parece que PHP 4.3.x en adelante verifica el HOST de quien creó la sesión .. así que si no es el mismo no lee la sesión (esto no recuerdo bien). La otra forma de solventar este problema es propagando el SID en cookies .. con las desventajas que tiene esto al obligar a tu usuario a permitir cookies en su navegador .. y los problemas de PC's comparidos (lease cibercafes, instituciones .. etc).

Un saludo,
__________________
Por motivos personales ya no puedo estar con Uds. Fue grato haber compartido todos estos años. Igualmente los seguiré leyendo.

Última edición por Cluster; 04/11/2003 a las 10:51