brhvitor6 14 Denunciar post Postado Junho 29, 2012 Fala ai galera beleza? A algum tempo criei esse script para facilitar na hora de proteger uma pagina e gerenciar seu acesso.... ai esta o codigo e no final do post tem como usa-lo, é bem simples e se alguem tiver alguma critica/dica por favor manda ai function protege($expressao, $pagina) { if(!isset($_SESSION['user']) or !isset($_SESSION['grupo'])) { header("Location: login.php?p=$pagina"); die(); } if($expressao == "todos") { return true; die(); } $user = $_SESSION['user']; $grupo = $_SESSION['grupo']; $expressao = explode(",",$expressao); $regular_grupo = '/g:([a-zA-Z\.])/'; $regular_user = '/u:([a-zA-Z\.])/'; $g_liberados = array(); $u_liberados = array(); for($b = 0;$b < count($expressao);$b++) { if(preg_match($regular_grupo,$expressao[$b])) { array_push($g_liberados,str_replace('g:','',$expressao[$b])); } if(preg_match($regular_user,$expressao[$b])) { array_push($u_liberados,str_replace('u:','',$expressao[$b])); } } if(in_array($user,$u_liberados)) { return true; } if(in_array($grupo,$g_liberados)) { return true; } } Usando: <?php //todos os usuarios podem acessar if(!protege("todos","index")){$url = 'login.php?p=index';header("Location: $url");} //somente grupo usuarios e o user vitor podem acessar if(!protege("u:vitor,g:usuarios","index")){$url = 'login.php?p=index';header("Location: $url");} ?> Compartilhar este post Link para o post Compartilhar em outros sites
Andrey Knupp Vital 136 Denunciar post Postado Junho 30, 2012 Opa, tem um negócio meio estranho aí ... você esqueceu de um pequeno detalhe, é que depois do return, nada mais é executado, portanto você colocou um die() desnecessário ali na verificação da expressão todos. :wacko: Não seria mais bacana você separar esse código não ? tá meio embolado isso aí. Compartilhar este post Link para o post Compartilhar em outros sites