Ver Mensaje Individual
  #2 (permalink)  
Antiguo 19/07/2009, 06:22
waty90
 
Fecha de Ingreso: diciembre-2006
Mensajes: 153
Antigüedad: 17 años, 5 meses
Puntos: 1
Respuesta: Login poco eficiente

Cita:
Iniciado por nolose Ver Mensaje
Hola amigos. Tengo un problema que ronda mi cabeza.
He creado un sistema de autentificación, que consiste en buscar login y pass en una BD y si coinciden que te cree una variable de sesión con el parámetro = a True.

Si el login es correcto, te da acceso a la parte privada de la web, pero el problema es que si uno es avispado, y empieza a escribir urls pues le mete en las partes privadas.

http://web.com/index.php?sec=6
http://web.com/index.php?sec=7
http://web.com/index.php?sec=8
etc.

Como toda mi web se carga en un switch principal, pensé en bloquearlo ahí mismo poniéndole una condición if (como puse en las urls de ejemplo anteriores), pero también se puede acceder presidiendo del switch (como muestro a continuacion).

http://web.com/productos.php
http://web.com/carrito.php
etc.

Tengo que poner un control (un if que compruebe la variable de sesión) en cada una de las paginas privadas??? O hay alguna otra forma??. Gracias!!

si utilizas sessiones puedes poner algo asi:

Código PHP:
<?php  session_start();

if (isset(
$_SESSION['SESS_USUARIO']))
    {
        echo 
"Bienvenido usted esta conectado.";
        echo 
"<form action='salir.php' method='post'>
            <tr>
                <th><input type='submit' value='cerrar sesion'></tr>
            </tr>
        </form>"
;

    }
else {
include(
'mensaje_usuario_noconectado.php');
    echo 
"<b>no estas conectado no puedes ver esta pagina</b>";

}


?>
en el ejemplo te he puesto un include por que es lo que uso yo para incluir una pagina de error , por que dentro del echo" " no podia meter codigo php, auque no es necesario si solo quieres mostrar un texto como en el codigo que te he puesto:

echo "<b>no estas conectado no puedes ver esta pagina</b>";


saludos