Acesso Restrito a páginas

Paginas com acesso restrito a Usuarios e/ou Grupos


Arquivo Autenticacao.php


CODE
      
       <?
      
       $usuarios_autorizados = "joao, maria";                 // EX: Joao, Maria são os logins autorizados
       $grupos_autorizados = "administradores, moderadores";  // EX: Administradores, e Moderadores são os grupos autorizados
      
      
       // Função responsável por autorizar a pagina.
       function autoriza($usuarios_aut, $grupos_aut, $login, $grupo_usuario){
         $validado = false;  // Por segurança já começa setado como false.
        
             $arrUsuarios = explode(",", $usuarios_aut); //Array "Explodido" em virgulas da string ($usuarios_autorizados)
           if (in_array($login, $arrUsuarios)) { //Verifica se o login do usuario consta no array, se estiver ele é validado.
             $validado = true;  }
        
           $arrGrupos = explode(",", $grupos_aut); //Array "Explodido" em virgulas da string ($grupos_autorizados)
           if (in_array($grupo_usuario, $arrGrupos)){ //Verifica se o grupo do usuario esta no grupo restrito.
             $validado = true;  }  
      
       return $validado;
       }
      
       $url = "error.php"; // A URL que será redirecionado o usuario, caso o mesmo não esteja autorizado a acessa-lá.
      
       if (!autoriza($usuarios_autorizados,$grupos_autorizados, $_SESSION['x_login_y'], $_SESSION['x_grupo_y'])){  //Verifica se foi autorizado.
         $char = "?";
         $pagina = $_SERVER['PHP_SELF'];
         if (strpos($url, "?")) $char = "&";
         if (isset($QUERY_STRING) && strlen($QUERY_STRING) > 0)
         $pagina .= "?" . $QUERY_STRING;
         $url = $url. $char . "Restrito=" . $pagina;
         header("Location: ". $url); // O usuario é redirecionado para: EX: erro.php?Restrito=pagina_restrita.php
         exit;
       }
      
       // Caso esteja validado, o script restante da pagina será executado.
      
       ?>



Lembrando!

Essa pagina devera ser chamada por require_once em todas as paginas que deseja ser restrita a grupos ou usuarios na PRIMEIRA LINHA.

EX:
require_once('autenticacao.php');

//

As Variáveis:
$_SESSION['x_grupo_y'] , $_SESSION['x_login_y'] Recebem o login e grupo correspondente do usuario, após ter feito o login com sucesso.

DICA:
Procure não dar nomes comuns a sessions.



Qualquel duvida é so postar. thumbsup.gif

Você gostou? Comente no fórum!

Mais recentes em PHP

Classe para controle de banco de dados.
Por Pinguim - Classe para facilitar a manipulação de banco de dados...
Mail injection em php
Por Micox - What??!?...
Zend frameworks - o inicio
Por LeandroBarral - Primeiros passos.....
Classe de conexão com mysql
Por Carutcho - Pô esses dias passei aqui no forum de php pra dar uma...
Decimal para hexadecimal
Por dragun - Exemplo de função recursiva...

Ver mais Artigos de PHP.

Ver e retirar outras dúvidas no fórum Webly.

Alguns Direitos Reservados | RSS | O Fórum

Webly Portal e Fóruns - Internet + Humana | Design by ArthurHenrique.com