CoDcAbEçA 0 Denunciar post Postado Setembro 4, 2003 Olha o exemplinho que fiz. O que está errado, é um exemplinho bobo, mas preciso de uma explicação para tal funcionamento. Quando dou logout ele parece ter feito tudo certo. Porém se dou VOLTAR pelo browser ele volta na área protegida. Como corrigir isso?Tenho dois arquivos a e b-----------------------------------Arquivo a-----------------------------------<? session_start("pref"); $usuid=$_GET["usuID"]; $usunome=$_GET["nome"]; session_register("usuID","usunome"); if ($_GET["lougout"]=='S'){ session_unset($_SESSION["usuID"]); session_destroy(); } if (isset($usuid) ) echo "<script> document.location.href=\"b.php\"</script>";?><html><head><title>Untitled Document</title><meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"></head><body><form action="a.php" method="get" name="teste"><input name="usuID" type="text"><input name="nome" type="text"><input name="enviar" type="submit"></form></body></html>-----------------------------------Arquivo b-----------------------------------<? session_start("pref"); $usuid=$_SESSION["usuID"]; $usunome=$_SESSION["usunome"]; if (!session_is_registered("usuID")) { header("Location: a.php"); exit(); }echo "Olá: " . $usuid . $usunome;?><html><head><title>Untitled Document</title><meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"></head><body><a href="a.php?logout=S">Logout</a></body></html>Por favor se alguém puder ajudar Compartilhar este post Link para o post Compartilhar em outros sites
ZehOliveira 0 Denunciar post Postado Setembro 4, 2003 Você deve usar diretivas do cabeçalho http para que não fique gravado nenhum cache da página. Em relação ao código, aparentemente não há nada de anormal... A não ser pela sintaxe da função session_start, o parametro dela é void! Portanto é desnecessário o usuo de um nome como parametro. http://br2.php.net/session_start Compartilhar este post Link para o post Compartilhar em outros sites
CoDcAbEçA 0 Denunciar post Postado Setembro 4, 2003 Como seria essas diretivas ?Teria como eu dar um logout se o usuário sair da página digitando outra url? Compartilhar este post Link para o post Compartilhar em outros sites
ZehOliveira 0 Denunciar post Postado Setembro 4, 2003 Algo do tipo: header("Cache-Control: private, no-store, no-cache, must-revalidate"); //HTTP 1.1header("Cache-Control: post-check=0, pre-check=0", false); // HTTP 1.1header("Pragma: no-cache"); // HTTP 1.0deverá evitar a gravação de cache! Quando a dar logout quando o usuario digitar uma url, tem como fazer combinando com js. Mas é método meio furado... pq não dá pro browser saber se a url que foi digitada é fora do seu site! O jeito mesmo é trabalhar com timeout nas sessões. Compartilhar este post Link para o post Compartilhar em outros sites
CoDcAbEçA 0 Denunciar post Postado Setembro 5, 2003 Cara tentei aqui mas não funciona, não sei mais o que fazer Compartilhar este post Link para o post Compartilhar em outros sites
ZehOliveira 0 Denunciar post Postado Setembro 5, 2003 Qual o problema? Não consegui fazer logout ou o problema no botão voltar? Compartilhar este post Link para o post Compartilhar em outros sites