Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

karkara

Validação com cookies

Recommended Posts

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&aacute: <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

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

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

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

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

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

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.