Ver Mensaje Individual
  #12 (permalink)  
Antiguo 19/10/2005, 08:59
Cluster
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 22 años, 3 meses
Puntos: 129
mmm

Cita:
if ($gestor = opendir('/tmp')) {
while (false !== ($archivo = readdir($gestor))) {

if(substr($archivo,0,5) == "sess_") {

if(is_readable("/tmp/".$archivo)) {
//tengo acceso...
Esa verificación "física" de tu archivo de sesión no deberías hacerlo .. de hecho en la mayoría de servicios de hosting (compartido o no) no vas a poder acceder al directorio /tmp/ o donde PHP almacene sus sesiones para ver esa información.

Podrías definir tu própio directorio para almacenar las sesiones:
session_save_path()


La validación de tu usuario activo en tu sistema .. simplemente lo podrías hacer con:

Código PHP:
session_start();
if (isset(
$_SESSION['alguna de tus variables'])){
// está autentificado ..

El tiempo de expiración de tu sesión lo determina PHP en su directiva:
session.gc_maxtimelife

Eso es muy genérico y con poco control (es cierto) .. pero, si tu quieres tener un mejor control de tu sesión activa, puedes usar otros métodos, pero NO ir a mirar "fisicamente" el archivo de sesión creado en el servidor por PHP. Eso no te asegura que una sesión esté activa o no .. pues PHP usa un término que denomina "garbage" (basura) para pasar una sesión al estado de "inactivo" en espera de ser físicamente borrado el archivo según determina otra directiva de php.ini, en ese momento, .. el archivo existe todavía y la sesión no es válida.

Si quieres un control más "fino" de sesiones .. podrías usar algunas implementaciones como:
http://www.phpclasses.org/browse/package/1773.html
(en ese sitio hay más para que las pruebes), Fijate como trabajan .. almacenan y gestionan datos/SID en base de datos para ofrecer todo ese tipo de funcionalidades como mejor control del tiempo de expiración .. contar sesiones activas .. etc ..

Un saludo,