[Php-avanzado] Consulta Sesiones

Leonardo Tadei - Pegasus Tech Supply leonardot en pegasusnet.com.ar
Mar Nov 11 13:58:16 ART 2014


Hola Gabriel,

	el ir "atrás" en el navegador hace lo mismo que recargar la página con
F5. La forma de loguearte y lo que hacés cuando no es correcto el login
deberían determinar esto.

	En el único caso admisible de seguir logueado al recargar, es
justamente en la pantalla de inicio del sistema, ya que un F5 vuelve a
enviar los datos que se pusieron en los INPUT para ingresar.

	En todos los demás casos, ya sea "atrás" o F5, deberías seguir logueado
o deslogueado según corresponda y no cambiar de un estado a otro.

	Saludos!



El mar, 11-11-2014 a las 12:41 -0300, Gabriel Lenti escribió:
> Leo, gracias por la rpta!
> 
> 
> El problema en si no era al ir para 'atras' nomas, sino cuando dp de
> ir para atras apretaba F5 y se reenviaba el formulario (algo asi como
> un double submit). Eso es lo que estoy tratando de evitar. Tendria
> algo que ver cuantos 'atras' pueda hacer en este caso?
> 
> 
> Saludos!!
> 
> 
> > From: leonardot en pegasusnet.com.ar
> > To: php-avanzado en pato2.fi.mdp.edu.ar
> > Date: Mon, 10 Nov 2014 18:35:11 -0300
> > Subject: Re: [Php-avanzado] Consulta Sesiones
> > 
> > Hola Gabriel,
> > 
> > lo del redirector intermedio puede funcionar, o no, dependiendo de
> > cuantos "atrás" puedas hacer con el navegador, lo que hace que este
> > método no sea confiable.
> > 
> > Lo que no estás mostrando en el funcionamiento de la función
> validar()
> > es qué pasa cuando el usuario no es válido... ahí debe estar el
> problema
> > de implementación.
> > 
> > Saludos!
> > 
> > 
> > El lun, 10-11-2014 a las 16:11 -0300, Gabriel Lenti escribió:
> > > Hola gente! Ya que anda en el aire el tema de las sesiones tengo
> una
> > > consulta al respecto justamente.
> > > Estaba teniendo problemas con el reenvio del form de logueo. Es
> decir,
> > > si me deslogueaba e inmediatamente presionaba 'back' y 'reload' en
> el
> > > explorador, me volvia a loguear sin preguntar nada, lo cual
> parecia no
> > > estar muy bien desde el punto de vista de la seguridad, jeje. El
> > > codigo resumido seria:
> > > 
> > > 
> > > form.php:
> > > <form action="page1.php" method="POST">
> > > <input type="text" name="user"/><br />
> > > <input type="password" name="pass" />
> > > <input type="submit" name="submit" value="Ingresar" />
> > > </form>
> > > 
> > > 
> > > page1.php:
> > > session_start();
> > > $user = "";
> > > $pass = "";
> > > if(isset($_SESSION["user"]) && isset($_SESSION["pass"]) ) {
> > > $user = $_SESSION["user"];
> > > $pass = $_SESSION["pass"];
> > > }
> > > if(isset($_POST["user"]) && isset($_POST["pass"]) ) {
> > > $user = $_POST["user"];
> > > $pass = $_POST["pass"];
> > > }
> > > $valid = validar($user, $pass);
> > > if (!$valid) header("Location: index.php");
> > > 
> > > 
> > > Leyendo por ahi encontre que este tipo de problemas se pueden
> > > solucionar con una redireccion intermedia, es asi? Por ejemplo, si
> la
> > > secuencia fuera: form.php -> redirect.php -> page1.php, donde:
> > > 
> > > 
> > > redirect.php:
> > > 
> > > 
> > > session_start();
> > > $user = "";
> > > $pass = "";
> > > if(isset($_POST["user"]) && isset($_POST["pass"]) ) {
> > > $_SESSION["user"] = $_POST["user"];
> > > $_SESSION["pass"] = $_POST["pass"];
> > > header("Location: page1.php");
> > > }
> > > 
> > > 
> > > Probandolo asi parece funcionar, pero me quede lleno de dudas..
> > > Alcanzaria con esto para resolver el problema? Hay algo mas que
> tenga
> > > que considerar para evitar complicaciones al loguear usuarios?
> > > Desde ya muchas gracias!!
> > > 
> > > 
> > > Gabriel Lenti
> > > 
> > > 
> > > _______________________________________________
> > > Lista de correo: Php-avanzado
> > > Mensajes a la lista: Php-avanzado en pato2.fi.mdp.edu.ar
> > > Administración Web:
> http://www3.fi.mdp.edu.ar/cgi-bin/mailman/listinfo/php-avanzado
> > > Desubscripción:
> php-avanzado-request en pato2.fi.mdp.edu.ar?subject=unsubscribe
> > 
> > -- 
> > Leonardo Tadei
> > leonardot en pegasusnet.com.ar
> > Web: http://leonardo.tadei.com.ar
> > Firma pública: http://www.pegasusnet.com.ar/LeonardoTadei-public.key
> > 
> > _______________________________________________
> > Lista de correo: Php-avanzado
> > Mensajes a la lista: Php-avanzado en pato2.fi.mdp.edu.ar
> > Administración Web:
> http://www3.fi.mdp.edu.ar/cgi-bin/mailman/listinfo/php-avanzado
> > Desubscripción:
> php-avanzado-request en pato2.fi.mdp.edu.ar?subject=unsubscribe
> 
> _______________________________________________
> Lista de correo: Php-avanzado
> Mensajes a la lista: Php-avanzado en pato2.fi.mdp.edu.ar
> Administración Web: http://www3.fi.mdp.edu.ar/cgi-bin/mailman/listinfo/php-avanzado
> Desubscripción: php-avanzado-request en pato2.fi.mdp.edu.ar?subject=unsubscribe

-- 
Leonardo Tadei
leonardot en pegasusnet.com.ar
Web: http://leonardo.tadei.com.ar
Firma pública: http://www.pegasusnet.com.ar/LeonardoTadei-public.key



Más información sobre la lista de distribución Php-avanzado