karkara 0 Denunciar post Postado Agosto 25, 2004 No meu site existe uma página de conteúdo exclusivo. Dai elaborei um sistema de autenticação com cookies. Parece q tá autenticando certinho, o problema tá na hora de efetuar LOGOUT (eliminar os cookies). O sistema funciona assim: 1-O usuário preenche um formulario de login 2-esse formulario chamara um script para validar e setar os cookies; 3-o usuario será direcionado para página de conteúdo restrito; 4-na página restrita existe um link para LOGOUT 5-clicando em LOGOUT os cookies serão eliminados e a site voltará para página proncipal do site. obs: o problema é q quando efetuo logout e digito na barra de endereço do browser o endereço da página de conteúdo restrito, a página tá sendo acessada(o q não era para acontecer)!!!! Vejamos parte do código: Formulario de login (form_login.php) <html><head></head><body> <form name="form1" method="post" action="login.php"> Nome de usuá: <input name="username" type="text" id="username"> Senha: <input name="senha" type="password" id="senha"> <input type="submit" name="submeter" value="Logar"> </form> </body></html> Script de validação (login.php) <?php include "conecta_mysql.inc"; $username = $_POST['username']; $senha = $_POST['senha']; $sql="SELECT * FROM usuario where username='$username';"; $resultado=mysql_query($sql); $linhas=mysql_num_rows($resultado); if($linhas==0)//testa se a consulta retornou algum registro { echo"Usuário não cadastrado!"; echo"<a href='form_login.php'>voltar</a>"; } elseif($senha!=mysql_result($resultado, 0, "senha")) { echo"Senha incorreta!"; echo"<a href='form_login.php'>voltar</a>"; } else //usuário e senha corretos. Vamos criar os cookies { setcookie("nome_usuario",$username); setcookie("senha_usuario",$senha); //direciona para a página acesivel pelos usuarios cadastrados header("Location:http://localhost/site/pagina_restrita.php"); } Página de conteúdo restrito (pagina_restrita.php) <?php include "valida_cookies.inc"; include "conecta_mysql.inc"; $sql = "SELECT * FROM tabela ORDER BY id DESC"; $resultado = mysql_query($sql) or die ("Não foi possível realizar a consulta ao banco de dados"); echo "CONTEÚDO RESTRITO"; echo"<a href='logout.php'>Logout</a></p>";//chama uma página q elimina cookies ?> Script de LOGOUT (logout.php) <?php setcookie("nome_usuario"); setcookie("senha_usuario"); header("Location:http://localhost/site/index.php"); ?> Compartilhar este post Link para o post Compartilhar em outros sites
michelsp 0 Denunciar post Postado Agosto 25, 2004 obs: o problema é q quando efetuo logout e digito na barra de endereço do browser o endereço da página de conteúdo restrito, a página tá sendo acessada(o q não era para acontecer)!!!!Pq nas pg's restritas, você ñ deve estar fazendo a verificação correta.http://www.imasters.com.br/artigo.php?cn=1762&cc=44 Compartilhar este post Link para o post Compartilhar em outros sites
karkara 0 Denunciar post Postado Agosto 25, 2004 obs: o problema é q quando efetuo logout e digito na barra de endereço do browser o endereço da página de conteúdo restrito, a página tá sendo acessada(o q não era para acontecer)!!!!Pq nas pg's restritas, você ñ deve estar fazendo a verificação correta.http://www.imasters.com.br/artigo.php?cn=1762&cc=44 valeu pela indicação do artigo.Mas, esse artigo trata autenticação com sessões...assim gostaria de saber qual melhor: sessões ou cookies? pq? Compartilhar este post Link para o post Compartilhar em outros sites
nolfolk 0 Denunciar post Postado Agosto 25, 2004 refaz tua pagina "secreta" assim:.....<?if(!($HTTP_COOKIE_VARS[nome_usuario] && $HTTP_COOKIE_VARS[nome_usuario])){?><script>alert("Erro: Você não esta logado!")</script><?}else{?>PARABÉNS, VOCÊ TA LOGADO!<br><a href='logout.php'>Logout</a><?}?>.....espero ter ajudado.nolfolk. Compartilhar este post Link para o post Compartilhar em outros sites
karkara 0 Denunciar post Postado Agosto 25, 2004 refaz tua pagina "secreta" assim:.....<?if(!($HTTP_COOKIE_VARS[nome_usuario] && $HTTP_COOKIE_VARS[nome_usuario])){?><script>alert("Erro: Você não esta logado!")</script><?}else{?>PARABÉNS, VOCÊ TA LOGADO!<br><a href='logout.php'>Logout</a><?}?>.....espero ter ajudado.nolfolk. Dessa forma ainda será necessário colocar no inicio da página o comando:include "valida_cookies.inc" ? Compartilhar este post Link para o post Compartilhar em outros sites
karkara 0 Denunciar post Postado Agosto 26, 2004 refaz tua pagina "secreta" assim:.....<?if(!($HTTP_COOKIE_VARS[nome_usuario] && $HTTP_COOKIE_VARS[nome_usuario])){?><script>alert("Erro: Você não esta logado!")</script><?}else{?>PARABÉNS, VOCÊ TA LOGADO!<br><a href='logout.php'>Logout</a><?}?>.....espero ter ajudado.nolfolk. Não entendi pq foi aberto e fechado tanto bloco php (<? ?>) Compartilhar este post Link para o post Compartilhar em outros sites