Foros del Web » Programando para Internet » PHP »

Restringir el acceso de páginas

Estas en el tema de Restringir el acceso de páginas en el foro de PHP en Foros del Web. Hola buenas tardes, quería explicarles una pequeña confusión. Estoy desarrollando una pequeña aplicación web, y le estoy dando mucha importancia al tema de la seguridad. ...
  #1 (permalink)  
Antiguo 23/04/2013, 10:18
 
Fecha de Ingreso: abril-2013
Mensajes: 75
Antigüedad: 11 años
Puntos: 2
Restringir el acceso de páginas

Hola buenas tardes, quería explicarles una pequeña confusión.
Estoy desarrollando una pequeña aplicación web, y le estoy dando mucha importancia al tema de la seguridad.
He creado un sistema de loggin, guardando las cuentas de usuario y los hashes de las contraseñas en una tabla MySql. Además, tengo un campo 'esAdmin' para diferenciar los administradores (1) del resto de usuarios con privilegios normales (0).
Cuando un administrador (1) inicia sesión, se redigire al panel de administración de la aplicación (por ejemplo, paginaAdministrador.php), mientras que un usuario normal (0) se redirige a otra página (por ejemplo, paginaUsuario.php).
Todo esto funciona perfectamente, el problema está, en que si inicio sesión como un usuario normal (0) y tecleo directamente en el URL la página del administrador (paginaAdministrador.php) puedo acceder a ella.
Qué me recomiendan para corregir este problema? Gracias por anticipado.
  #2 (permalink)  
Antiguo 23/04/2013, 10:32
Avatar de rottenp4nx  
Fecha de Ingreso: octubre-2012
Ubicación: Santiago
Mensajes: 417
Antigüedad: 11 años, 6 meses
Puntos: 36
Respuesta: Restringir el acceso de páginas

Cuando te loguees crea 2 variables de session una para ver si esta logueado y la otra para ver si es admin

if(!(empty($_SESSION['user']) && empty($_SESSION['esAdmin']))){
//mostrar pagina
}
else{
//redireccionar a otra parte
}

Saludos
  #3 (permalink)  
Antiguo 23/04/2013, 10:37
 
Fecha de Ingreso: abril-2013
Mensajes: 60
Antigüedad: 11 años
Puntos: 2
Respuesta: Restringir el acceso de páginas

en lo personal t recomiendo que uses variables de session, en una primera instancia al momento de de autenticar al usuario o admin, obtengas el valor del campo "esAdmin" y lo almacenes en una variable de session
Código PHP:
Ver original
  1. $_SESSION['user'] = $esAdmin;

luego en todos los archivos que sean del administrador, condicionas que solo este puede acceder, escribiendo el siguiente código al principio

Código PHP:
Ver original
  1. if($_SESSION['user']  != 1)
  2. {
  3. echo "<script>history.back(1);</script>";
  4. }
  #4 (permalink)  
Antiguo 23/04/2013, 15:50
 
Fecha de Ingreso: abril-2013
Mensajes: 75
Antigüedad: 11 años
Puntos: 2
Respuesta: Restringir el acceso de páginas

Gracias por vuestras sugerencias. Tomo nota, y mañana las aplico, os comentaré los resultados. Gracias!
  #5 (permalink)  
Antiguo 24/04/2013, 15:59
 
Fecha de Ingreso: abril-2013
Mensajes: 75
Antigüedad: 11 años
Puntos: 2
Respuesta: Restringir el acceso de páginas

Perfecto, he seguido vuestros consejos y he conseguido el resultado que quería. Gracias por vuestra colaboración :)

Etiquetas: mysql, páginas, restringir, tabla, usuarios
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 22:38.