Foros del Web » Programando para Internet » PHP »

Ayuda con Sesiones en Autentificador de Cluster

Estas en el tema de Ayuda con Sesiones en Autentificador de Cluster en el foro de PHP en Foros del Web. Estoy utilizando en autentificador de cluster para controlar la entrada a una pequeña aplicación. El problema que se me presenta es el siguiente: Controlo la ...
  #1 (permalink)  
Antiguo 17/05/2004, 10:35
 
Fecha de Ingreso: febrero-2004
Mensajes: 35
Antigüedad: 13 años, 10 meses
Puntos: 0
Pregunta Ayuda con Sesiones en Autentificador de Cluster

Estoy utilizando en autentificador de cluster para controlar la entrada a una pequeña aplicación.
El problema que se me presenta es el siguiente:
Controlo la entrada a tres páginas distintas utilizando distintos niveles de autorización para cada una. El problema es que cuando entro a dos o las tres páginas la ves, los datos de la sesion se sobreescriben, es decir, que no me crea dos o tres sesiones distintas dependiendo de cuantos usuarios entren a las páginas, sino que me sobreescribe la información de las sesiones con los datos del ultimo usuario que entra a la aplicación... y esto no me conviene por que luego cualquier usuario podria accesar al maximo nivel si estar autorizado

Espero alguno de uds. pueda ayudarme... Yo no tego mucha experiencia trabajando con sesiones, pero he estado consultando manuales para aprender y hasta ahora no encuentro como resolver el problema

Por cierto estoy trabajando bajo windows xp, con el servidor apache, php 4.2.2 y MySQL 4.0.1 instalados con Foxserv V.

Aqui les muestro la información de la configuración de php para el uso de sesiones, por si tengo algo mal configurado me lo hagan saber.


Session Support enabled

Directive Local Value Master Value
session.auto_start Off Off
session.cache_expire 180 180
session.cache_limiter nocache nocache
session.cookie_domain no value no value
session.cookie_lifetime 0 0
session.cookie_path / /
session.cookie_secure Off Off
session.entropy_file no value no value
session.entropy_length 0 0
session.gc_maxlifetime 1440 1440
session.gc_probability 1 1
session.name PHPSESSID PHPSESSID
session.referer_check no value no value
session.save_handler files files
session.save_path C:\FoxServ\sessiondata C:\FoxServ\sessiondata
session.serialize_handler php php
session.use_cookies On On
session.use_trans_sid 1 1



De antemano Gracias a todos y espero contar nuevamente con su valiosa ayuda.
  #2 (permalink)  
Antiguo 17/05/2004, 11:47
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 15 años, 11 meses
Puntos: 126
Parece (si entendí bien) que el SID nunca se genera uno nuevo y por eso toma el último (con sus datos asociados).

Modifica aut_verifica.inc.php para incluir justo despues de validar al usuario y antes del $_SESSION['....']=.... que se usan para definir variables en dicha sesión:

Código PHP:
session_regenerate_id(); 
Esa función genera un nuevo SID (se "fuerza") así que estaríamos formazano la generación de un nuevo SID al validar un usuario. No hay que usarlo siempre .. sólo en ese caso .. sino siempre generarías un nuevo SID y nunca se mantendría la sesión activa.

Lo malo es que esa función sólo existe desde PHP 4 >= 4.3.2 .. y tu al parecer usas PHP 4.2.2 . Para esos casos tendrías que probar a "implementar" tu própia función para tal fin .. tipo:

session_id("generar_un_id_dinámico .. tal vez con MD5() basado en time()")


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 17/05/2004, 18:09
 
Fecha de Ingreso: febrero-2004
Mensajes: 35
Antigüedad: 13 años, 10 meses
Puntos: 0
Si ese es el problema, no me esta generando un nuevo SID y siempre toma el ultimo creado, gracias por respuonder. Dejame verificar si me funciona lo que me has recomendado.
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 20:42.