Ver Mensaje Individual
  #1 (permalink)  
Antiguo 12/01/2009, 14:25
Avatar de acoevil
acoevil
 
Fecha de Ingreso: julio-2008
Ubicación: localhost/colombia/sevillaValle.php
Mensajes: 1.123
Antigüedad: 15 años, 9 meses
Puntos: 32
acceso denegado a ciertas paginas

Hola quetal estoy haciendo un scrip para desloguar a ciertos usuario que tratan o entran en secciones de la pagina que no deberian estar o que sus permisos no son los suficientes para dejarlos entrar

Pues el codigo no tiene nada malo de hecho cumple con lo que quiero solo quiero preguntar que hacen ustedes para evitar este tipo de usuario

Bueno basicamente lo que hago es obtener la pagina en la que se encuentra la persona actual, y por medio de una funcion que me recive el login de la persona compruebo que permisos tiene en la DB y dependiendo de los permisos realizo una expresion regular que evalua la pagina en la que se encuentra y si esta dentro del rango automaticamente quito la session del usuario actual y de esta forma lo mando al login para que se vuelva a loguear

Aparte de esto creo que le puede servir a mucha gente ese scrip que he realizado jeje

Si tienen algun comentario sobre el scrip no duden en preguntar

Código PHP:
session_start();

if(
session_is_registered("login"))
{
    require_once(
"DB.php");
    
acceso($_SESSION["login"]);
    
}
else
{
    
//si no esta logueado realizo algo...
}

function 
acceso($login)
{
    
$url=$_SERVER['REQUEST_URI'];
    
$permisos=mysql_query("select permisos from usuarios where login='$login'");
        if(
mysql_num_rows($permisos)>0)
                {
                    while(
$row=mysql_fetch_array($permisos))
                    {
                        
$permiso=$row['permisos'];
                        
                            
                    }
                    
//despues de obtener los permisos hago lo redirecciono
                    
if($permiso==1//si es usuario 
                    
{
                        if(
ereg("(seccion_denegada)|(seccion_denegada2)",$url))
                        {
                            
                            
session_unset("login");
                        }
                    }
                    elseif(
$permiso==12)//si es moderador
                    
{
                        if(
ereg("(seccion_denegada)|(seccion_denegada2)",$url))
                        {
                            
                            
session_unset("login");
                        }
                    
                    }
                    
//si es administrador se supone que debe tener todos los permisos de acceso
                
                        
                        
                        
                        
                    
                
}
}

?>