Paginas com acesso restrito a Usuarios e/ou Grupos
Arquivo Autenticacao.php
<?
$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_autorizad os, $_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.
Arquivo Autenticacao.php
<?
$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_autorizad os, $_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.