start session_start sesiones recuperar pasar paginas manejo ini_set entre ejemplos php session

session_start - session start php login



¿Qué mantiene viva una sesión php? (8)

Aquí está la parte relevante de la documentación

Cuando un visitante accede a su sitio, PHP verificará automáticamente (si session.auto_start está establecido en 1) o en su solicitud (explícitamente a través de session_start ()) si se ha enviado una ID de sesión específica con la solicitud. Si este es el caso, se recrea el entorno guardado anteriormente .

http://www.php.net/manual/en/intro.session.php

session_start () crea una sesión o reanuda la actual basada en un identificador de sesión pasado a través de una solicitud GET o POST, o pasado a través de una cookie.

http://www.php.net/manual/en/function.session-start.php

Esto significa que si no llama a session_start , la sesión no se reanudará y la caducidad no se extenderá.

Las sesiones solo se mantienen activas cada vez que accede a una página con session_start(); ¿o otras páginas también lo mantienen vivo?

Ejemplo (con tiempo de espera de 30 minutos ):

1

página de accesos de usuario con session_start ();
25 minutos más tarde acceden a otra session_start ();
la sesión de la página se mantiene viva

2

página de accesos de usuario con session_start ();
25 minutos más tarde acceden a un non-session_start (); página
la sesión se mantiene viva

¿Es 2 también cierto?


En el caso actual, la duración de la sesión PHP de 30 minutos es una especie de "pregunta trucada". La duración de la sesión predeterminada y casi universal es de 1440 segundos, o 24 minutos. Entonces, para la mayoría de las personas, los datos de la sesión podrían haber desaparecido antes de la marca de los 25 minutos.

Este artículo explica algunos detalles de cómo funcionan las sesiones de PHP. http://www.experts-exchange.com/Web_Development/Web_Languages-Standards/PHP/A_11909-PHP-Sessions-Simpler-Than-You-May-Think.html


La primera afirmación es verdadera a menos que use un nombre de sesión diferente en ambas páginas.

La segunda declaración es falsa.


Llamar a session_start () simplemente le da acceso a su código a la sesión.

Lo que mantiene viva la sesión es que su navegador envíe la identificación de la sesión (almacenada en una cookie) al servidor, ya sea que la use o no.

Respuesta: Ambos son verdaderos.


No tiene que hacer nada con las páginas web, la sesión interactúa con su navegador por ID de sesión.

Los ID de sesión generados por PHP son únicos, aleatorios y casi imposibles de adivinar, lo que dificulta que un atacante tenga acceso o cambie los datos de la sesión. Además, como los datos de la sesión se almacenan en el servidor, no es necesario enviarlos con cada solicitud del navegador.

Para iniciar una sesión de PHP en su secuencia de comandos, simplemente llame a la función session_ start (). Si se trata de una nueva sesión, esta función genera un único SID para la sesión y lo envía al navegador como una cookie llamada PHPSESSID (de forma predeterminada). Sin embargo, si el navegador ha enviado una cookie PHPSESSID al servidor porque ya existe una sesión, session_start () usa esta sesión existente: session_start ();


Session_start () es un mecanismo interno para php para acceder a la sesión y también para enviar la cookie de sesión al navegador del cliente.

  1. El caso 1 es verdadero: porque el usuario accedió a una página con session_start () y luego otra página similar.
  2. El caso 2 solo es verdadero si el tiempo de espera de la sesión es superior a 25 minutos entre dos visitas.

En el caso 2, el servidor no enviará ninguna cookie de sesión, es un navegador que incluye cookies en el encabezado de la solicitud.


Si desea sesiones en todas sus páginas, debe session_start() en todas sus páginas.

Por lo tanto, 1 es CORRECT y 2 es CORRECT


Siempre hay una cookie de sesión configurada en su navegador cada vez que accede a una página que tiene session_start() . El nombre de la cookie será PHPSESSID si el sitio web usa PHP (aunque el nombre puede cambiarse). Esta cookie de sesión contiene una identificación de sesión que ayuda al navegador a mantener esa sesión con el servidor.

Puede verificar manualmente al navegar por cualquier sitio web que tenga su sesión y luego eliminar las cookies de su navegador, su sesión se perderá.

En tu caso, tanto 1 como 2 son correctos.

2 es correcto porque el usuario ya ha accedido a una página que tiene session_start() y su ID de sesión se establecerá para los próximos 30 minutos y estará presente incluso si accede a una página que no tiene una sesión.

NOTA: Pero la página que va a visitar si contiene session_destroy() , su sesión será destruida.