Unconfigured Ad Widget

Collapse

Anúncio

Collapse
No announcement yet.

Acesso Restrito a páginas

Collapse
X
 
  • Filter
  • Tempo
  • Show
Clear All
new posts

  • Font Size
    #1

    Tutorial Acesso Restrito a páginas

    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.
X
Working...
X