Ir para conteúdo
Ljrbrasil

Bloquear acesso direto via URL. Somente acessar depois de logado

Recommended Posts

Pessoal

bom dia!

 

Já fiz diversa busca mas não encontrei nenhum script que adequa-se ao meu sistema.

 

Tenho uma pasta de login e as de mais pasta com os formuários e gostaria de o usuario so tivesse as paginas após logar e de preferência o script tivesse um temporizador para deslogar apos 6 min.

 

Alguém tem algo parecido que eu possa adaptar a minha necessidade?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Basta verificar se a sessão existe:

if(!isset($_SESSION['nome_da_sessao'])){
//Não está logado, redireciona para algum lugar...
}

 

Compartilhar este post


Link para o post
Compartilhar em outros sites

Vamos ao mobral:

 

Vamos assumir que exista uma página chamada usuario.php que só será acessível com login (não sabe fazer login? No google: sistema de login com php). No login é criada uma sessão (não sabe gerenciar sessões? No google: sessões com php), essa sessão tem o nome de email.

 

Para restringir o acesso você deverá colocar NO TOPO do arquivo, ANTES DE QUALQUER COISA o controle,


 

<?php
session_start();//Inicia a sessão

//Verifica se a sessão email NÃO está criada
if(!isset($_SESSION['email'])){
//Aqui você faz o redirecionamento ou exibe a mensagem.

exit;//Encerra a execução
}

//Daqui para baixo o resto o script...
echo 'Olá '.$_SESSION['email'];

 

 

Compartilhar este post


Link para o post
Compartilhar em outros sites

Crie uma conta ou entre para comentar

Você precisar ser um membro para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar Agora

  • Conteúdo Similar

    • Por PeeWee
      Pessoal, estou precisando de um código que mantenha o usuário logado no sistema, pois o interessante é que assim que ele acessar o site nao precise logar outra vez. Estou utilizando esse código:   $_SESSION['log_me_out_at'] = strtotime(date("Ymd ")."23:59:59");
      aparentemente nao funciona quando subi para o servidor, alguem tem uma dica?
    • Por leonardo021970
      Tem alguma maneira de capturar todas as urls do site?
      Testei pelo google mas ele retorna apenas alguns resultados pelo jeito que testei
    • Por Rafael Freitas
      Boa noite galera!
       
      Estou precisando de uma força, seguinte:
      Eu tenho um sisteminha de login e senha funcionando normalmente. Porém, a página que seria "restrita somente à usuários logado" está acessível para qualquer um, se esse tentar acessar pela url.
       
      Como faço pra restringir aquela página somente para quem estiver logado. Caso não esteja, direcionar para a página de login novamente.
       
      Segue o código:
      <?php session_start(); //Incluindo a conexão com banco de dados include_once("conexao.php"); //O campo usuário e senha preenchido entra no if para validar if((isset($_POST['email'])) && (isset($_POST['senha']))){ $usuario = mysqli_real_escape_string($conn, $_POST['email']); //Escapar de caracteres especiais, como aspas, prevenindo SQL injection $senha = mysqli_real_escape_string($conn, $_POST['senha']); $senha = md5($senha); //Buscar na tabela usuario o usuário que corresponde com os dados digitado no formulário $result_usuario = "SELECT * FROM usuarios WHERE email = '$usuario' && senha = '$senha' LIMIT 1"; $resultado_usuario = mysqli_query($conn, $result_usuario); $resultado = mysqli_fetch_assoc($resultado_usuario); //Encontrado um usuario na tabela usuário com os mesmos dados digitado no formulário if(isset($resultado)){ $_SESSION['usuarioId'] = $resultado['id']; $_SESSION['usuarioNome'] = $resultado['nome']; $_SESSION['usuarioNiveisAcessoId'] = $resultado['niveis_acesso_id']; $_SESSION['usuarioEmail'] = $resultado['email']; if($_SESSION['usuarioNiveisAcessoId'] == "1"){ header("Location: administrativo.php"); }elseif($_SESSION['usuarioNiveisAcessoId'] == "2"){ header("Location: colaborador.php"); }else{ header("Location: cliente.php"); } //Não foi encontrado um usuario na tabela usuário com os mesmos dados digitado no formulário //redireciona o usuario para a página de login }else{ //Váriavel global recebendo a mensagem de erro $_SESSION['loginErro'] = "Usuário ou senha Inválido"; header("Location: index.php"); } //O campo usuário e senha não preenchido entra no else e redireciona o usuário para a página de login }else{ $_SESSION['loginErro'] = "Usuário ou senha inválido"; header("Location: index.php"); } ?> Ainda estou começando no PHP,  quem puder dar uma força, agradeço! =)
       
      Abraço.
    • Por Vitorkgb
      Boa tarde pessoal, alguém poderia me ajudar?, estou usando JSF, porém estou com uma necessidade, criei um botão na minha página xhtml que executa um método (Dentro de um ManagedBean na vdd), nesse método precisaria executar uma URL e pegar um parâmetro, porém essa URL teria que ser executada dentro do método mesmo, sem abrir qualquer navegador, com o parâmetro pego ai sim vou jogar na próxima tela, alguém saberia como posso fazer isso? executar uma URL e pegar seu parâmetro gerado sem abrir o navegador?
      Desde já obrigado,
      Vitor
    • Por LucasFalcao
      Seguem as partes dos códigos que esta sendo influenciado pelo meu problema.
      Problema: Ao efetua o login o usuário sera redirecionado a pagina de perfil, mas o que está acontecendo é que la na pagina de perfil o teste de autenticação falha, como se ninguém tivesse logado.
      Acredito que o erro esta sendo esse.
       

×

Informação importante

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