[Php-avanzado] Consulta de sesion
Leonardo Tadei - Pegasus Tech Supply
leonardot en pegasusnet.com.ar
Jue Jul 31 02:46:09 ART 2008
Hola Lucas,
Sí existe la posibilidad de inyectar una sesión (pero no es trivial.
Para asegurar la cosa deberías hacer:
El mié, 30-07-2008 a las 23:24 -0300, Lucas Calviño escribió:
> Hola, estoy usando esta forma de mantener la sesion:
>
> <?php
> session_start();
>
> include ("../db/conexion.php");
>
> if (isset ($_SESSION['user']) && isset ($_SESSION['pass']))
> {
// si están definidos, vuelvo a consultar en la DB
// usuarioValido es una función que debés definir vos y que devuelve
verdadero si el usuario es válido
if (! usuarioValido($_SESSION['user'],$_SESSION['pass'])
{
header ("Location: login.php");
}
/*
Fijate que esta función de hecho hace redundante la pregunta
if (isset ($_SESSION['user']) && isset ($_SESSION['pass'])) ya que si no
están seteadas, usuarioValido() devolverá falso y listo.
Después, para no meter todo el script en un else, que queda "feo",
podés usar la estructura
if (! usuarioValido($_SESSION['user'],$_SESSION['pass'])
{
header ("Location: login.php");
exit();
}
y seguir con el código. El header() salta a otra página, y el exit()
termina la ejecución del script.
*/
> ?>
>
> <html>
> <body>
> etc...
> </body>
> </html>
>
> <?php
> } else {
> header ("Location: login.php");
> }
> ?>
>
> Quería saber si esta bien, ya que lo único que hago es preguntar si
> existen las variables user y pass de $_SESSION, preguntonta, no es
> posible, inyectando codigo, q se creen estas variables y se acceda sin
> tener un login autentico.
>
> Gracias. Lucas.
Por nada!
--
Leonardo Tadei
leonardot en pegasusnet.com.ar
http://blog.pegasusnet.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