Foros del Web » Programando para Internet » PHP »

Duda con manejo de sesiones

Estas en el tema de Duda con manejo de sesiones en el foro de PHP en Foros del Web. Hola tengo una duda... tengo 2 sesiones diferentes en la misma pagina, una no tiene que expirar pongamos x segundos y la otra tiene que ...
  #1 (permalink)  
Antiguo 18/05/2011, 17:11
Avatar de softmaster  
Fecha de Ingreso: diciembre-2008
Mensajes: 230
Antigüedad: 15 años, 4 meses
Puntos: 12
Duda con manejo de sesiones

Hola tengo una duda... tengo 2 sesiones diferentes en la misma pagina, una no tiene que expirar pongamos x segundos y la otra tiene que expirar al cerrar el navegador... lo estoy intentando hacer asi:

session que no expira:

Código PHP:
session_name("no_expira");
ini_set('session.cache_expire',     0); 
ini_set('session.cache_limiter',     'nocache'); 
ini_set('session.cookie_lifetime',  3600);  //3600 segundos
ini_set('session.gc_maxlifetime',  3600);  //3600 segundos
ini_set('session.use_cookies',      1); 
ini_set('session.use_trans_sid',   1);
session_start(); 
session que expira:

Código PHP:
session_name("expira");
ini_set('session.cache_expire',    0);
ini_set('session.cache_limiter',    'nocache');
ini_set('session.cookie_lifetime',  0);
ini_set('session.gc_maxlifetime',  0);
session_start(); 

no logro que funcione, reconozco que no entiendo a un 100% de sesiones.. alguien me puede dar una mano ?
  #2 (permalink)  
Antiguo 18/05/2011, 17:15
Avatar de xtimed  
Fecha de Ingreso: julio-2009
Ubicación: BCN - México
Mensajes: 226
Antigüedad: 14 años, 9 meses
Puntos: 41
Respuesta: Duda con manejo de sesiones

Código PHP:
// Inicializar la sesión.
// Si está usando session_name("algo"), ¡no lo olvide ahora!
session_start();

// Destruir todas las variables de sesión.
$_SESSION = array();

// Si se desea destruir la sesión completamente, borre también la cookie de sesión.
// Nota: ¡Esto destruirá la sesión, y no la información de la sesión!
if (ini_get("session.use_cookies")) {
    
$params session_get_cookie_params();
    
setcookie(session_name(), ''time() - 42000,
        
$params["path"], $params["domain"],
        
$params["secure"], $params["httponly"]
    );
}

// Finalmente, destruir la sesión.
session_destroy(); 
http://www.php.net/session_destroy
  #3 (permalink)  
Antiguo 18/05/2011, 17:22
Avatar de softmaster  
Fecha de Ingreso: diciembre-2008
Mensajes: 230
Antigüedad: 15 años, 4 meses
Puntos: 12
Respuesta: Duda con manejo de sesiones

Hola xtimed... no entendi bien el codigo, podrias explicarme un poco ?
  #4 (permalink)  
Antiguo 18/05/2011, 17:53
Avatar de xtimed  
Fecha de Ingreso: julio-2009
Ubicación: BCN - México
Mensajes: 226
Antigüedad: 14 años, 9 meses
Puntos: 41
Respuesta: Duda con manejo de sesiones

Primero inicias la sesion con session_start();
Despues, destruyes todas las variables de sesion, asociando un array vacio a $_SESSION ya que eso viene siendo naturalmente, un array, asi se eliminan todas las variables de sesion.
Despues, opcionalmente, destruyes las cookies de sesion, que supongo yo son las que se guardan en la computadora, asi borras todo rastro de sesiones en el equipo.
Y por ultimo, destruyes la sesion con session_destroy(); que en el enlace que te puse al final, viene todo esto y te explica lo que ase session_destroy(); tambien vienen ejemplos y aportes de otros usuarios, puedes verificarlos para que te des una idea
  #5 (permalink)  
Antiguo 18/05/2011, 18:06
Avatar de softmaster  
Fecha de Ingreso: diciembre-2008
Mensajes: 230
Antigüedad: 15 años, 4 meses
Puntos: 12
Respuesta: Duda con manejo de sesiones

si me lei todo, y entiendo mas o menos como funciona, pero el tema es que no se como aplicarlo...

ponele, la session que no expira la utilizo para contolar las veces que los usuarios hacen logins y da error, asi los limito ponele a 5 veces...

y la session que expira la utilizo para la sesion del usuario. entonces si el usuario no hace click en cerrar sesion me mantiene la sesion aunque cierre el navegador...

ese es el problema que tengo, no puedo tener 2 configuraciones de ini_set en la misma pagina. o si se puede ? o hay alguna otra forma de mantener la sesion...

Última edición por softmaster; 18/05/2011 a las 18:42
  #6 (permalink)  
Antiguo 18/05/2011, 18:46
Avatar de xtimed  
Fecha de Ingreso: julio-2009
Ubicación: BCN - México
Mensajes: 226
Antigüedad: 14 años, 9 meses
Puntos: 41
Respuesta: Duda con manejo de sesiones

Buscando por ahí encontré la función window.onunload() javascript, se me ocurre que la puedes usar para abrir otro php en donde cambies los valores de las sessiones que deseas que expiren y al momento de cambiarlas, cierres el php nuevo que abriste, no se si te funcione eso
  #7 (permalink)  
Antiguo 18/05/2011, 19:14
Avatar de softmaster  
Fecha de Ingreso: diciembre-2008
Mensajes: 230
Antigüedad: 15 años, 4 meses
Puntos: 12
Respuesta: Duda con manejo de sesiones

gracias xtimed (va karma)... pero me parece que es complicarlo mas... metiendo otro lenguaje, taria bueno alguien que la tenga clara con manejo de sesiones nos de una mano...
  #8 (permalink)  
Antiguo 18/05/2011, 19:28
Avatar de xtimed  
Fecha de Ingreso: julio-2009
Ubicación: BCN - México
Mensajes: 226
Antigüedad: 14 años, 9 meses
Puntos: 41
Respuesta: Duda con manejo de sesiones

Si te entendí bien, lo que quieres aser, es tener una variable de sesion con un dato, y eliminar ese dato al cerrar el navegador, o estoy mal?
  #9 (permalink)  
Antiguo 18/05/2011, 20:04
Avatar de softmaster  
Fecha de Ingreso: diciembre-2008
Mensajes: 230
Antigüedad: 15 años, 4 meses
Puntos: 12
Respuesta: Duda con manejo de sesiones

exacto, una sesion que cierre al cerrar el navegador y a la otra sesion que dure x tiempo aunque cierren el navegador
  #10 (permalink)  
Antiguo 18/05/2011, 20:07
Avatar de Sourcegeek
Colaborador
 
Fecha de Ingreso: mayo-2009
Ubicación: $mex['B.C.'];
Mensajes: 1.816
Antigüedad: 14 años, 11 meses
Puntos: 322
Respuesta: Duda con manejo de sesiones

Las sesiones se auto-eliminan al cerrar el navegador
__________________
Buscas desarrollador web? Sourcegeek. Diseño web, Maquetación y Programación
¡Escribe bien! Esto es un foro, no un Facebook para que escribas con los pies
  #11 (permalink)  
Antiguo 18/05/2011, 20:14
 
Fecha de Ingreso: mayo-2011
Ubicación: La Luna
Mensajes: 84
Antigüedad: 12 años, 11 meses
Puntos: 6
Respuesta: Duda con manejo de sesiones

asi es , no se pueden mantener
  #12 (permalink)  
Antiguo 18/05/2011, 20:15
Avatar de softmaster  
Fecha de Ingreso: diciembre-2008
Mensajes: 230
Antigüedad: 15 años, 4 meses
Puntos: 12
Respuesta: Duda con manejo de sesiones

salvo que le indiques que genere una cookie...

Código PHP:
session_name("no_expira"); 
ini_set('session.cache_expire',     0);  
ini_set('session.cache_limiter',     'nocache');  
ini_set('session.cookie_lifetime',  3600);  //3600 segundos 
ini_set('session.gc_maxlifetime',  3600);  //3600 segundos 
ini_set('session.use_cookies',      1);  
ini_set('session.use_trans_sid',   1); 
session_start(); 
el tema es que no puedo utilizar ini-set para una sesion y para otra sesion en la misma pagina otros ini_set
  #13 (permalink)  
Antiguo 18/05/2011, 20:17
 
Fecha de Ingreso: mayo-2011
Ubicación: La Luna
Mensajes: 84
Antigüedad: 12 años, 11 meses
Puntos: 6
Respuesta: Duda con manejo de sesiones

Pero a ver tu sistema va estar en local? porque si no tocaría., ya sabes
  #14 (permalink)  
Antiguo 18/05/2011, 20:22
Avatar de softmaster  
Fecha de Ingreso: diciembre-2008
Mensajes: 230
Antigüedad: 15 años, 4 meses
Puntos: 12
Respuesta: Duda con manejo de sesiones

no, osea mientras hago las pruebas si en local, pero despues lo subo al servidor
  #15 (permalink)  
Antiguo 18/05/2011, 20:24
Avatar de softmaster  
Fecha de Ingreso: diciembre-2008
Mensajes: 230
Antigüedad: 15 años, 4 meses
Puntos: 12
Respuesta: Duda con manejo de sesiones

osea mientras lo desarrollo si esta en local, pero despues el sistema va a estar en el servidor
  #16 (permalink)  
Antiguo 18/05/2011, 20:26
 
Fecha de Ingreso: mayo-2011
Ubicación: La Luna
Mensajes: 84
Antigüedad: 12 años, 11 meses
Puntos: 6
Respuesta: Duda con manejo de sesiones

pero recuerda que tendrías que modificar el ini de tu servidor y tienes acceso alli?
La única solución que veo posible es para mantener la info seria con cokies
  #17 (permalink)  
Antiguo 18/05/2011, 20:28
Avatar de Nemutagk
Colaborador
 
Fecha de Ingreso: marzo-2004
Ubicación: México
Mensajes: 2.633
Antigüedad: 20 años
Puntos: 406
Respuesta: Duda con manejo de sesiones

Lo que pretendes hacer no es posible, no puedes setar una configuración para una sesión y luego cambiar esa configuración eh iniciar otra sesión, no importa que cambies los datos, siempre usaras la misma sesión, y mantendrá para todas las variables la ultima configuración seteada

Lo que puedes hacer es utilizar cookies directamente para los datos que quieres "persistir"
__________________
Listo?, tendría que tener 60 puntos menos de IQ para considerarme listo!!!
-- Sheldon Cooper
http://twitter.com/nemutagk
PD: No contestaré temas vía mensaje personal =)
  #18 (permalink)  
Antiguo 18/05/2011, 20:33
Avatar de softmaster  
Fecha de Ingreso: diciembre-2008
Mensajes: 230
Antigüedad: 15 años, 4 meses
Puntos: 12
Respuesta: Duda con manejo de sesiones

si tengo acceso al php.ini, pero me parece mejor tratar con ini_set en este caso, si a mi me parece tambien que voy a tener que usar cookies...

por que o es una opcion o la otra... o mantego la session con cookies al cerrar el navegador, o no...

y sino la mantengo al cerrar el navegador, el limitador de intentos de logins vuelve a cero y de vuelta puden intentar loguearse sin esperar x tiempo
  #19 (permalink)  
Antiguo 18/05/2011, 20:35
Avatar de Nemutagk
Colaborador
 
Fecha de Ingreso: marzo-2004
Ubicación: México
Mensajes: 2.633
Antigüedad: 20 años
Puntos: 406
Respuesta: Duda con manejo de sesiones

Si vas ah usar sesiones con tiempo delimitado es mejor que utilices cookies, no tiene caso dar carga al servidor, ya que las sesiones son expresamente eso, sesiones que se inician cuando el usuario hace un login y finalizan cuando hacen un logout o cierran el navegador, ahora, si quieres tener control de cuantos logins hacen tus usuarios es mejor usar cookies o directamente un contador en base de datos
__________________
Listo?, tendría que tener 60 puntos menos de IQ para considerarme listo!!!
-- Sheldon Cooper
http://twitter.com/nemutagk
PD: No contestaré temas vía mensaje personal =)
  #20 (permalink)  
Antiguo 18/05/2011, 20:36
Avatar de softmaster  
Fecha de Ingreso: diciembre-2008
Mensajes: 230
Antigüedad: 15 años, 4 meses
Puntos: 12
Respuesta: Duda con manejo de sesiones

me resistia a usar cookies por un tema de seguridad... no se, que piensan ?
  #21 (permalink)  
Antiguo 18/05/2011, 20:38
Avatar de softmaster  
Fecha de Ingreso: diciembre-2008
Mensajes: 230
Antigüedad: 15 años, 4 meses
Puntos: 12
Respuesta: Duda con manejo de sesiones

claro, pero si utilizo un contador en la base de datos si o si el error es si existe el usuario, pero si van probando usuario y passwords ? por eso era lo de las sesiones...
  #22 (permalink)  
Antiguo 18/05/2011, 20:43
Avatar de Nemutagk
Colaborador
 
Fecha de Ingreso: marzo-2004
Ubicación: México
Mensajes: 2.633
Antigüedad: 20 años
Puntos: 406
Respuesta: Duda con manejo de sesiones

a ver, tienes un mal concepto sobre seguridad en cuanto a peticiones de inicio de sesion se refiere, si vas a basar tu sistema de "seguridad" en algo que el usuario fácilmente puede burlas vas mal, mejor regresa a la mesa de planeacion.

Todo sistema de verificación de inicio de sesión se hace en el servidor, en un contador en la base de datos. Te preocupas porque las cookies son vulnerables, pues te informo que tu sistema a base de sesiones para lo que quieres es igual de vulnerable, cualquier usuario que borre las cookies puede hacer los intentos que se le de la gana, en cambio, si el sistema lleva un contador backend en la base de datos es imposible que un usuario se salte la validación
__________________
Listo?, tendría que tener 60 puntos menos de IQ para considerarme listo!!!
-- Sheldon Cooper
http://twitter.com/nemutagk
PD: No contestaré temas vía mensaje personal =)
  #23 (permalink)  
Antiguo 18/05/2011, 20:51
Avatar de softmaster  
Fecha de Ingreso: diciembre-2008
Mensajes: 230
Antigüedad: 15 años, 4 meses
Puntos: 12
Respuesta: Duda con manejo de sesiones

ok Nemutagk.. entiendo lo que dices, y en el caso hipotetico que vayan probando usuarios y contraseñas diferentes (suponiendo que el usuario no exista) ? deberia guardar y bloquear la ip
  #24 (permalink)  
Antiguo 18/05/2011, 21:01
 
Fecha de Ingreso: mayo-2011
Ubicación: La Luna
Mensajes: 84
Antigüedad: 12 años, 11 meses
Puntos: 6
Respuesta: Duda con manejo de sesiones

softmaster pero recuerdan que pueden ser por proxy y en caso la mayoria varia.
  #25 (permalink)  
Antiguo 18/05/2011, 21:05
Avatar de softmaster  
Fecha de Ingreso: diciembre-2008
Mensajes: 230
Antigüedad: 15 años, 4 meses
Puntos: 12
Respuesta: Duda con manejo de sesiones

si tenes razon pabloaguero2010, comente sin pensar.. jeje... ya no me da mas la cabeza !
  #26 (permalink)  
Antiguo 18/05/2011, 21:12
 
Fecha de Ingreso: mayo-2011
Ubicación: La Luna
Mensajes: 84
Antigüedad: 12 años, 11 meses
Puntos: 6
Respuesta: Duda con manejo de sesiones

softmaster no te lies tanto , seguridad al 100% no podras.
usa cokkies y guarda los intentos en la BD.
  #27 (permalink)  
Antiguo 18/05/2011, 21:25
Avatar de Nemutagk
Colaborador
 
Fecha de Ingreso: marzo-2004
Ubicación: México
Mensajes: 2.633
Antigüedad: 20 años
Puntos: 406
Respuesta: Duda con manejo de sesiones

Cita:
Iniciado por softmaster Ver Mensaje
ok Nemutagk.. entiendo lo que dices, y en el caso hipotetico que vayan probando usuarios y contraseñas diferentes (suponiendo que el usuario no exista) ? deberia guardar y bloquear la ip
No, jamas confíes en la IP de tus visitantes, bloquea la cuenta directamente, ahora, el caso de que si el usuario exista o no, vamos, eso es muy sencillo no?, tu propio sistema debe saber cuando un usuario ingresa un usuario existente o no simplemente para hacer el login, no le veo problema
__________________
Listo?, tendría que tener 60 puntos menos de IQ para considerarme listo!!!
-- Sheldon Cooper
http://twitter.com/nemutagk
PD: No contestaré temas vía mensaje personal =)
  #28 (permalink)  
Antiguo 18/05/2011, 21:34
Avatar de softmaster  
Fecha de Ingreso: diciembre-2008
Mensajes: 230
Antigüedad: 15 años, 4 meses
Puntos: 12
Respuesta: Duda con manejo de sesiones

Cita:
Iniciado por pabloaguero2010 Ver Mensaje
softmaster no te lies tanto , seguridad al 100% no podras.
usa cokkies y guarda los intentos en la BD.
seguro, pero esta bueno aprender tambien, y ver que opciones tiene uno.


Cita:
Iniciado por Nemutagk Ver Mensaje
No, jamas confíes en la IP de tus visitantes, bloquea la cuenta directamente, ahora, el caso de que si el usuario exista o no, vamos, eso es muy sencillo no?, tu propio sistema debe saber cuando un usuario ingresa un usuario existente o no simplemente para hacer el login, no le veo problema
si lo hace eso, pero lo decia por el tema de si un sistema muy malito va probando usuarios y contraseñas...


voy a pensar bien todo lo que me dijeron asi lo planeo diferente a como lo tenia, y voy a ver que sale... gracias a todos por la ayuda, me sirvio de mucho...

Etiquetas: sesiones_en_php, session
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 03:51.