Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Oi. Em meu site eu tenho uma área restrita para dois tipos de usuários. Administradores e usuários. Estou com o seguinte problema no meu código. Se o login de usuarios for validado pelo script o usuário e redirecionado a página de usuários, mas o problema é que se ele, (depois de logado) digitar a página dos administradores na barra de endereços ele consegue acessar normalmente a página. E vice versa com os administradores. Eu queria uma ajuda pra criar duas seções ou sei lá... alguma coisa que proteja melhor essas páginas. Os usuários, senhas e as páginas que eles serão redirecionados depois de logados estão em um banco. Abaixo estão os códigos. Página: --- index.php ---
<?include "config.php". if ($acao=='ingressar') {$con=mysql_pconnect($host,$user,$pass). mysql_select_db($banco). $sql="select * from dglogin WHERE login='$login'". $result=mysql_query($sql). $linhas=mysql_num_rows($result). for($x=0. $x<$linhas. $x++) {$id=mysql_result($result,$x,0). $login_bd=mysql_result($result,$x,1). $senha_bd=mysql_result($result,$x,2). $pagina_bd=mysql_result($result,$x,3). if ($login==$login_bd AND $senha==$senha_bd) {session_start("dglogin"). //Inicializa a sessãosession_name(). session_destroy(). session_register("login","senha"). //Registra as variáveis na sessãoheader("Location:$pagina_bd"). //Redireciono para a página principalexit. }else {header ("Location: $PHP_SELF?acao=error"). }}}?><?if ($acao=='error') {print"<br><br><center>Login ou senha não conferem</center>". exit. }?><BODY onload="document.getElementById('login').focus()" bgcolor="#FFFFCC" text="#0066FF"><br><br><DIV align="center"> Preencha os campos abaixo: <FORM ACTION="<?echo $PHP_SELF.?>?acao=ingressar" method=post> <DIV align="center"><TABLE width="20%" align="center"><TR> <TD><DIV align="center">Login: <INPUT type=text name=login value=""></DIV></TD></TR><TR> <TD><DIV align="center">Senha: <INPUT type=password name=senha value=""></DIV></TD></TR><TR> <TD><DIV align="center"> <INPUT name="submit" type=submit class="botao" value="Ingressar"></DIV></TD></TABLE></FORM></DIV>--- FIM index.php --- Página: --- dglogin.php --- <?session_start("dglogin"). if(!(session_is_registered("login") AND session_is_registered("senha"))) {echo "Essa é uma área restrita.<br>Você não tem permissão para acessá-la.". exit. }$login=$HTTP_SESSION_VARS[login]. $senha=$HTTP_SESSION_VARS[senha].?>--- FIM dglogin.php --- Nas páginas que nescessitam da seção eu apenas inclui: <? include "../scripts/acesso_restrito/dglogin.php".?> Quem puder me ajudar eu agradeço.Carregando comentários...