Foro de elhacker.net

Programación => Desarrollo Web => Mensaje iniciado por: Leguim en 14 Enero 2020, 23:59 pm



Título: [Pregunta]: ¿$_SESSION'S "eternas"?
Publicado por: Leguim en 14 Enero 2020, 23:59 pm
Buenas tardes,
hace tiempo había publicado un tema donde preguntaba como podía hacer que la session durara hasta que el usuario cierre el navegador, por lo cual la solución era...

Código
  1. ini_set('session.cookie_lifetime', '0');
  2. ini_set('session.gc_maxlifetime', '0');
  3.  

Pero ahora quiero que la session sea eterna, que nunca se termine por más que el usuario cierre el cliente (navegador), apague la computadora, dispositivo, quiero que su session siga vigente... twitter estuve viendo y funciona no se si igual pero a cada rato tengo la sesión abierta sin importar si pasó 1 semana...


Título: Re: [Pregunta]: ¿$_SESSION'S "eternas"?
Publicado por: engel lex en 15 Enero 2020, 00:18 am
SESSION'S no es el plural de session, solo significa que lo que sigue pertenece a ese sujeto... Engel's como un nombre de un lugar, significaría que ese es el lugar de Engel...


sobre las cookies te debes haber saltado algo en los estudios...

Código
  1. ini_set('session.cookie_lifetime', '0');
  2. ini_set('session.gc_maxlifetime', '0');

sobre las cabeceras HTTP, la cabecera set-cookie, por MDN
https://developer.mozilla.org/es/docs/Web/HTTP/Headers/Set-Cookie (https://developer.mozilla.org/es/docs/Web/HTTP/Headers/Set-Cookie)

directiva expires
Citar
Expires=<date> Optional
El tiempo de de vida útil de una cookie como marca HTTP-date timestamp. Ver Date para el detalle del formato. Si no está especificado, la cookie tendrá el tiempo de vida de una session cookie...

si no esta especificado tomasu valor por defecto, que es 0

mismo documento, explicacion session cookie

Citar
Session cookies will get removed when the client is shut down...

// traduzco
Las Session Cookies serán removidas cuando el navegador sea cerrado.


sobre el parámetro session.cookie_lifetime en ini_set segun php.net
https://www.php.net/manual/es/session.configuration.php#ini.session.cookie-lifetime (https://www.php.net/manual/es/session.configuration.php#ini.session.cookie-lifetime)

Citar
session.cookie_lifetime especifica el tiempo de vida en segundos de la cookie que es enviada al navegador. El valor 0 significa "hasta que el navegador se cierre". Por defecto es 0



aunque son los valores por defecto una y ora vez le repites "hasta que se cierre el navegador"

en pocas palabras lo ultimo que quieres es 0... quieres un valor muy alto, por ejemplo 30 dias desde la fech de entrega... (el valor es en segundos)


Título: Re: [Pregunta]: ¿$_SESSION'S "eternas"?
Publicado por: Leguim en 15 Enero 2020, 01:32 am
SESSION'S no es el plural de session, solo significa que lo que sigue pertenece a ese sujeto... Engel's como un nombre de un lugar, significaría que ese es el lugar de Engel...


sobre las cookies te debes haber saltado algo en los estudios...

Código
  1. ini_set('session.cookie_lifetime', '0');
  2. ini_set('session.gc_maxlifetime', '0');

sobre las cabeceras HTTP, la cabecera set-cookie, por MDN
https://developer.mozilla.org/es/docs/Web/HTTP/Headers/Set-Cookie (https://developer.mozilla.org/es/docs/Web/HTTP/Headers/Set-Cookie)

directiva expires
si no esta especificado tomasu valor por defecto, que es 0

mismo documento, explicacion session cookie


sobre el parámetro session.cookie_lifetime en ini_set segun php.net
https://www.php.net/manual/es/session.configuration.php#ini.session.cookie-lifetime (https://www.php.net/manual/es/session.configuration.php#ini.session.cookie-lifetime)



aunque son los valores por defecto una y ora vez le repites "hasta que se cierre el navegador"

en pocas palabras lo ultimo que quieres es 0... quieres un valor muy alto, por ejemplo 30 dias desde la fech de entrega... (el valor es en segundos)

Siempre lo había asociado con el plural, no solamente aprendo programación acá.. sino a hablar bien xD

Gracias.


Título: Re: [Pregunta]: ¿$_SESSION'S "eternas"?
Publicado por: engel lex en 15 Enero 2020, 01:47 am
XD el plural en el ingles usualmente no es tan simple como español...

por ejemplo

(https://upload.wikimedia.org/wikipedia/en/d/df/Bob%27sburgersseason10cover2.jpg)

hamburguesas de bob



sobe los paramentros... recuerda que cookie_lifetime cuanto tiempo va a vivir la cookie en absoluto... y gc_maxlifetime es cuanto tiempo puede pasar sin ser usada hasta que muera...

es decir... tu puedes habilitar para que unacookie dure 30 dias, pero si no es usada en un total de 24 horas expire

recuerda cookies con un tiempo infinitamente largo tampoco es bueno, permaneceran en la ram de php hasta que expiren... una practica es por ejemplo darles una semana, y cada 6 en php renovar la cookie, esto tambien da una pequeña capa de seguridad contra el robo de cookies