Ir para conteúdo

Arquivado

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

wilsoncrescencio

Porque esse código de proteção não funciona?

Recommended Posts

Esse código deveria funcionar, protegendo minha index - sem login e senha corretos ficaria impossível o acesso.

Mas necas...;

O que está errado?

<?php
session_start();/*cria uma session para sair caso tentativa de entrada sem senha*/
if(isset($_GET['acao']) && $_GET['acao'] == 'sair'): /*verifica ação no botão sair*/
     unset($_SESSION['login']);/*destroi a sessão usuarios*/
  unset($_SESSION['senha']);/*destroi a sessão semhas*/
  session_destroy();/*destroi a proprias sessão e sai da página*/
   endif;

if(!isset($_SESSION['login'])&& !isset($_SESSION['senha'])):
 header("location:../login_usuarios.php");
endif;
?>

Compartilhar este post


Link para o post
Compartilhar em outros sites

É verdade...

Desculpe-me não informar o erro, foi uma falha da minha parte.

 

Mesmo minha página tendo o código acima, se eu digitar o endereço direto no browser eu consigo acessa-la. Isso não deveria ocorrer.

 

E obrigado pela forma gentil como me foi lembrado o fato de não ter mecionado o erro.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Se o problema for acessar a página diretamente, você pode fazer o seguinte, coloque no topo da pagina:

if( basename($_SERVER['PHP_SELF']) ==  basename($_SERVER['SCRIPT_NAME']) ){
       echo 'Essa pagina não pode ser acessada diretamente';
       exit;
}

Compartilhar este post


Link para o post
Compartilhar em outros sites

Se entendi, isso resolveria o acesso direto e o acesso então passaria a ser apenas pela pagina de login?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Hmm, não necessariamente, se você quer verificar se o usuário está logado antes de fazer o logout, você faz um IF antes de tentar remover as sessions, é então redireciona pra pagina de login

Compartilhar este post


Link para o post
Compartilhar em outros sites

pois é tentei isso também, deu resultado na localhost, com ela hospedada não!

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.