Re: [PHP-ES] Manejo de sesiones
[email protected] (Carlos Medina) Thu, 03 Jul 2014 21:57:55 +0200
| Newsgroups | php.general.es |
|---|---|
| Organization | SimplyNetworks |
| Message-ID | <[email protected]> |
Si son dos aplicaciones distintas que se comparten una session, pues solo tendrias que hacer lo que dijiste. Aunque yo pondria una flag bajo app1, app2, etc que me indique que todavia estoy activo en la aplicacion. Ejemplo: $_SESSION['app1']['main']['is_login'] = true; $_SESSION['app1']['data']...etc $_SESSION['app2']['main']['is_login'] = true; etc. Cuando quieras cerrar una sesion solo haces $_SESSION['app2']['main']['is_login'] = false; unset($_SESSION['app2']['data']); Si trabajas con objetos te recomiendo algo asi http://www.wikihow.com/Create-a-Secure-Session-Managment-System-in-PHP-and-MySQL Saludos Am 03.07.2014 19:24, schrieb Ricardo Vila: > Muchas gracias por su respuesta en realidad son dos aplicaciones distintas > pero que una persona tiene acceso a ambas creo que la solución planteada es > la que requiero solo un tema mas en ambas se tiene el enlace cerrar sesión > en ese caso solo debería hacer un unset a las variables correspondientes a > la app ¿es correcto? > > Es decir algo como > > Unset($_SESSION[app1][perfil]); > > Y asi a todas las variables de mi aplicación > > Agradezco de antemano sus respuestas > El jul 3, 2014 5:51 a.m., "Carlos Medina" <[email protected]> > escribió: > >> Hola Ricardo, >> si la idea es hacer un session sharing, la mejor que puedes hacer es >> abstraer los datos contenidos en la variable de sesion de la aplicacion >> en si. Como te escriben los colegas lo puedes realizar al introducir un >> nuevo key debajo del cual puedas guardar las informaciones por aplicacion. >> >> En el caso de que necesites informaciones sobre el usuario en ambas >> aplicaciones vas a tener que duplicarlas en los diferentes keys >> >> $_SESSION['appid_1234']['username] = 'myUser' >> $_SESSION['appid_4321']['username'] = 'myUser' >> >> Si guardas la informacion necesitada en una base de datos, puedes >> obtener la informacion comun entre las aplicaciones y las informaciones >> por aplicacion necesitadas sin tener que duplicar los datos en la >> variable de session >> >> $_SESSION['userid'] = 'xyz' >> >> SELECT id as userid, username, applicationid FROM session WHERE id = 'xyz'; >> >> SELECT * FROM session_data_by_application WHERE userid = <userid> AND >> application=<applicationid> >> >> Tambien puedes hacer un join o un view de las tablas para tenerlo todo a >> la mano de una vez. >> >> Acuerdate que tienes que proteger la variable de sesion de cualquier >> ataque de afuera para que no que roben los datos. >> >> Suerte >> >> Carlos Medina >> >> >> Am 03.07.2014 00:29, schrieb Ricardo Vila: >>> Buenas tardes, >>> >>> La presente es para consultar un tema con sesiones. >>> >>> Estoy revisando un par de aplicativos en php y veo que ambos usan la >> misma >>> estructura para el login de cadA aplicativo esto es que se tiene el mismo >>> formulario de login y el aplicativo al validar crea variables de sesion >>> como $_SESSION['perfil']=valor , >>> >>> El problema es cuando en el mismo navegador abro los dos aplicativos pues >>> un usuario puede tener distinto njvel en cada.aplicativo lo que me >> origina >>> que al llamar a los enlaces del menu se me altere el aplicativo. >>> >>> Hay alguna forma de evitar este incidente, pues el usuario requiere usar >>> ambos aplicativos >>> >>> Agradezco de antemano su respuesta >>> >>> Saludos, >>> Ricardo >>> >> >> >> -- >> PHP Spanish Localization Talk Mailing List (http://www.php.net/) >> To unsubscribe, visit: http://www.php.net/unsub.php >> >> >