Re: [PHP-ES] Session en varios tabs (solucionado)
[email protected] (Carlos Medina)
| Newsgroups | php.general.es |
|---|---|
| Organization | SimplyNetworks |
| Message-ID | <[email protected]> |
Am 16.09.2010 18:33, schrieb J. Mauro Daino: > Y si el usuario duplica la pestaña? > > 2010/9/16 Carlos Medina<[email protected]> > >> Hola a todos, >> muchÃsimas gracias por sus aportes. El problema lo hemos solucionado de la >> siguiente manera aunque no es la más elegante:: >> >> 1.- Mandar el SessionId a travez de la url. >> 2.- Factory class para generar las session >> 3.- Si el sessionId viene de la url se prueba si existe en la base de datos >> (el hash) y se cargan los datos en la clase (singleton) >> 4.- si no hay session id en la url, se manda el request al LoginController >> 5.- Si el sessionId en la url esta errado, se manda el request al >> LoginController >> >> Con esto que ya hemos probado podemos asegurar que la aplicacion funcione >> en el browser de manera distinta no importando la cantidad de tabs que se >> tenga. >> >> Carlos Medina >> >> >> Am 16.09.2010 18:15, schrieb J. Mauro Daino: >> >>> Lucas: >>> Tenes toda la razón. Perdón por mi pobre lectura del problema. >>> >>> Carlos: >>> Conozco poco de thin clients y no logro ubicar el producto de Citrix que >>> usas, pero por el lado de PHP me parece que vas frito. >>> Se me ocurre que podes hacer algo como desde la pagina 1 abrir con >>> JavaScript la pagina 2 en una nueva ventana estableciendole como nombre de >>> ventana una cadena aleatoria, en la pagina 2 poner el form de login y como >>> un campo oculto insertar el nombre de la ventana y luego desde PHP >>> devolver >>> como cookie ese valor. >>> De esa forma PHP tendrÃa alguna forma de identificar cada objeto "window" >>> de >>> JavaScript (una pestaña es un objeto "window" en JavaScript). >>> Fallas: (la obvia) JavaScript puede estar desabilitado, el usuario puede >>> guardar como marcador la pagina 2 y despues entrar a ella directamente >>> (por >>> lo tanto la ventana no tendria nombre) y alguna otra seguro. >>> Y un punto que no se: ¿donde se guardan las cookies? ¿en el thin client? >>> ¿en >>> el servidor Citrix? >>> Suerte. >>> >>> >> >> -- >> PHP Spanish Localization Talk Mailing List (http://www.php.net/) >> To unsubscribe, visit: http://www.php.net/unsub.php >> >> > > Okay lo que me falto decir es que, la solucion solo esta disenada para los usuarios de un entorno definido en el que se usa Citrix como terminal server. Los usuarios usan el terminal y se ha observado que muchas paginas en internet tienen el problema de que al usar cookies para grabar la session, los demas colegas pueden ver lo que el otro esta grabando/usando (por ejemplo en un web mailing System). En el momento que duplicas tu pestana usando el mismo id, pues entraras en el sistema. Pero nos hemos concentrado en la solucion primero del problema basico para luego resolver el resto. Al quien este interesado le aviso si quiere Saludos Carlos Medina