Dlms 4 Denunciar post Postado Novembro 21, 2013 Bom dia senhores, alguém sabe me dizer se existe uma meneira de impedir que o usuário pule páginas jogando endereço no browser? exemplo.. tenho uma aplicação com 3 páginas.. a primeira de login e outras duas ... se o usuário jogar no browser o endereço de qualquer uma das duas ele consegue passar direto sem fazer passar pela tela de login.. tem alguma maneira de impedir isto? Compartilhar este post Link para o post Compartilhar em outros sites
srnalim 21 Denunciar post Postado Novembro 21, 2013 tem no login crie sessions, e crie um outro arquivo chame-o para as outras paginas que nao podem ser acessada sem o login e verifique se a sessão não existe usando o header() mande ele para o index do login novamente. Tem de mais isso no google, pesquisadinha experta resolveria. Compartilhar este post Link para o post Compartilhar em outros sites
Dlms 4 Denunciar post Postado Novembro 21, 2013 Eu uso Session no meu login, porém pesquisei por algo parecido e nem achei... Compartilhar este post Link para o post Compartilhar em outros sites
xandyloch 0 Denunciar post Postado Novembro 21, 2013 no login crie session e nas outras páginas valide no inicio do script se o usuário ta logado ou não. Compartilhar este post Link para o post Compartilhar em outros sites
Keven Jesus_164006 39 Denunciar post Postado Novembro 21, 2013 amigo qual nome da sessão que vc cria na hora de logar ? faz um arquivo verifica.php e faz isso session_start(); if(!isset($_SESSION['NOME DA SESSAO'])){ header("Location: index.php"); } depois só da include neste arquivo em todas as pagina que deve ser logado para entrar. Compartilhar este post Link para o post Compartilhar em outros sites
Dlms 4 Denunciar post Postado Novembro 21, 2013 Bom, nesse caso terei que dar include em tudo.. o sistema tem várias telas.. e se o usuário souber a url de alguma delas ele pode acessar direto.. já tenho um arquivo checklogin startando uma session com nome "usuário" então darei include desse arquivo em todas as telas do sistema e adicionarei o seguinte código: session_start(); if(!isset($_SESSION['usuário'])){ header("meu direcionamento"); } confere? Compartilhar este post Link para o post Compartilhar em outros sites
Keven Jesus_164006 39 Denunciar post Postado Novembro 21, 2013 Yes! mas deixa te pergunta você não esta navegando em url amiavel ? ou query string ? seria mais facil se tivesse um cabeçalho ja iniciando era só jogar nele .... mas se não tiver o jeito é tu ir em pagina por pagina Compartilhar este post Link para o post Compartilhar em outros sites
Dlms 4 Denunciar post Postado Novembro 21, 2013 Bom.. começei a programar com php tem 3 meses e acabei de virar o sistema da empresa agora.. então nem de tudo eu to por dentro.. como eu terminei esse sistema e eu mesmo consigo jogar endereços na url e ir pra onde quiser... lembrei dessa situação.. por que minha chefe já vai querer colocar o sistema no servidor... sacou? ai fiquei em dúvida se quando ele estiver no servidor se o usuário conseguiria fazer o mesmo.. e o que vc quer dizer com isto? "você não esta navegando em url amiavel ? ou query string ?" não saquei isso ai.. Compartilhar este post Link para o post Compartilhar em outros sites
Keven Jesus_164006 39 Denunciar post Postado Novembro 21, 2013 query string é aquela navegação "normal" que vc deve ter visto nos sites : index.php?pg=alguma coisaa url amigavel ja seria mais dinamica e simples de navegar site.com/home ou /empresa ou /noticia-aqui-blabla ambas a gente tem um arquivo header.php ou tudo na index mesmo a parte de cima do site ficaria intacta ..ai você poderia jogar essa verificação lá ... e todas as paginas iram ler essa função. mas pelo jeito se estiver em arquivo por arquivo você terá que inclur este arquivo la ... include"verifica.php"; Compartilhar este post Link para o post Compartilhar em outros sites
Dlms 4 Denunciar post Postado Novembro 21, 2013 acredito então que a minha é uma simples... o caminho por exemplo é passado assim: http://localhost/movimentacao_veicular/ <-- index.. http://localhost/movimentacao_veicular/tela_principal/movimentacao_tela_principal.php <-- primeira página depois do login Compartilhar este post Link para o post Compartilhar em outros sites
Keven Jesus_164006 39 Denunciar post Postado Novembro 21, 2013 tendi então é isto mesmo que falei tu cria o arquivo verifica e sai incluindo ele no topo das pagina que você deseja "proteger" <?php session_start(); if(!isset($_SESSION['usuário'])) { header("Location: arquivo de volta"); } ?> ai tu joga no topo de todas <?php include"verifica.php";?> Compartilhar este post Link para o post Compartilhar em outros sites
Dlms 4 Denunciar post Postado Novembro 21, 2013 cara, não consegui... olha como está meu arquivo checklogin <?Php session_start("usuario");// senha e enviado de forma post$_SESSION["AUTH"] = true;include("conexao.class.php");//instanciando o objeto$minhaConexao = new Conexao(); // Varificando o Click do botão if(isset($_POST['btn_enviar'])) { $myusername=$_POST['edit_login']; $mypassword=$_POST['edit_senha']; // Passando a variável para caixa alto $myusername=strtoupper($myusername); // Verificando se a variável está vazia if(empty($myusername) or empty($mypassword)) { $mdg="<div align=\"center\"> <font><b><h2>Preencha todos os campos</h2></b></font></br> </div> <div align=\"center\"> <input type=\"submit\" name=\"btn_voltar_index\" value=\" Voltar \" onClick=\"location.href='http://localhost/movimentacao_veicular/'\"> </div>"; echo"$mdg"; } else { // Fazendo verificação do usuário $x=$minhaConexao->verificarusuario($myusername,$mypassword); if($x==0) { $mdg="<div align=\"center\"> <font><b><h2>Login ou Senha incorretos</h2></b></font></br> </div> <div align=\"center\"> <input type=\"submit\" name=\"btn_voltar_index\" value=\" Voltar \" onClick=\"location.href='http://localhost/movimentacao_veicular/'\"> </div>"; echo"$mdg"; } else { $_SESSION['Usuario']=$myusername; $_SESSION['Senha']=$mypassword; $minhaConexao->dataacesso($myusername); header('Location:http://localhost/movimentacao_veicular/tela_principal/movimentacao_tela_principal.php'); //session_destroy(); exit; } } } //session_destroy();?> esse é o arquivo que verifica e abre a session... e no topo da página coloquei o seguinte... <?php include("../conexao_login/checklogin.php"); if(!isset($_SESSION['usuario'])) { header('Location:http://localhost/movimentacao_veicular/tela_principal/movimentacao_tela_principal.php'); } else { header('Location:http://localhost/movimentacao_veicular/'); }?> devo ter entendido errado.. Compartilhar este post Link para o post Compartilhar em outros sites
Keven Jesus_164006 39 Denunciar post Postado Novembro 21, 2013 cara ....! tu baixo esse script na onde ? Compartilhar este post Link para o post Compartilhar em outros sites
Dlms 4 Denunciar post Postado Novembro 21, 2013 a maior parte eu fiz uma ou outra coisa eu achei na net... mas falta eu organizar ele ainda.. iei comentá-lo e tal... identar.. Compartilhar este post Link para o post Compartilhar em outros sites
Keven Jesus_164006 39 Denunciar post Postado Novembro 21, 2013 session_start("usuario"); << troca por isso session_start(); se não funciona não vale a pena estudar esse bagulho ai rsrrs faz aquele arquivo que falei e joga la ta mais simples ele e irá funciona normal Compartilhar este post Link para o post Compartilhar em outros sites
Dlms 4 Denunciar post Postado Novembro 21, 2013 Mas esse "usuário" apenas nomeia a sessão... e se não tiver um nome.. acho que não tem como fazer referência.. mas enfim... então farei outro arquivo php separado.. somente com este conteúdo: <?php if(!isset($_SESSION['usuario'])) { header('Location:http://localhost/mov...a_principal.php'); } else { header('Location:http://localhost/mov...tacao_veicular/'); }?> e depois farei referência a ele no topo de cada página. certo? Compartilhar este post Link para o post Compartilhar em outros sites
Keven Jesus_164006 39 Denunciar post Postado Novembro 21, 2013 Mas esse "usuário" apenas nomeia a sessão... e se não tiver um nome.. acho que não tem como fazer referência.. mas enfim... então farei outro arquivo php separado.. somente com este conteúdo: <?php if(!isset($_SESSION['usuario'])) { header('Location:http://localhost/mov...a_principal.php'); } else { header('Location:http://localhost/mov...tacao_veicular/'); } ?> e depois farei referência a ele no topo de cada página. certo? o session_start ele inicia a sessao oque garante o nome é $_SESSION['nome'] < oque vai aqui e fica atento que : $_SESSION['Usuario']=$myusername; $_SESSION['Senha']=$mypassword; a sessao usuario e senha esta com a primeira letra maiúscula este if que te passei não precisa de else pois ele só vai jogar para outro lugar se nao existe o login ... todavia ele ja esta incluso nas paginas ou seja não será preciso redireciona para outro lugar se ja estiver logado! Compartilhar este post Link para o post Compartilhar em outros sites
Dlms 4 Denunciar post Postado Novembro 21, 2013 criei um arquivo separado com o seguinte conteúdo <?php session_start(); if(!isset($_SESSION['usuário']) or !isset($_SESSION['senha'])){ header('Location:http://192.168.1.32/movimentacao_veicular/');}?> e na página que eu não quero que o usuário passe referenciei assim <?phpinclude("../conexao_login/verifica_pg.php");?> eu testei.. e ele e continua pulando o login.. indo pra outra página... agora é o seguinte.. a minha página principal aponta pro checklogin.. ele que faz a verificação e tudo mais... entao essa informação aqui if(!isset($_SESSION['usuário']) or !isset($_SESSION['senha'])) ele não deve pegar. por que checklogion e o arquivo que acabei de criar não estão ligados de alguma forma.. to errado? Compartilhar este post Link para o post Compartilhar em outros sites
Keven Jesus_164006 39 Denunciar post Postado Novembro 21, 2013 como te falei suas sessões o indice delas iniciam com letra maiuscula , o usuario e senha ... agora se não funciona alterando isso provavelmente nome da sessao ta errado ai tu faz seguinte da um print_r($_SESSION); para ver quais sessões estão ativas no site só para pegar o nome e validar corretamente ! Compartilhar este post Link para o post Compartilhar em outros sites
Dlms 4 Denunciar post Postado Novembro 21, 2013 Esse lance do maíuscula já corrigir naquela hora mesmo.. Ai, fiz o text com o print.. e ele tá passando as variáveis certinhas.. agora o que acontece.. se eu abro o browser e colo o caminho de uma página depois do login.. ele faz o que é correto.. redireciona para a index.. porém.. se eu logar no sistema.. e depois sair do sistema... e tentar fazer o mesmo procedimento de colar a url e entrar.. ele passa da tela de login.. ou seja.. é como se a sessão continuasse ativa depois de eu ter logado uma vez.... então.. se meu usuário logar somente uma vez e não fechar o browser ele ou quem mais vier depois entra no sistema de qualquer forma.. nesse caso preciso sempre matar a sessão do usuário assim que sair né? o Destroy() resolve isso? onde na verdade colocarei ele para que não de problemas com o usuário autenticado no momento? Compartilhar este post Link para o post Compartilhar em outros sites