afbartels 0 Denunciar post Postado Junho 21, 2007 Pessoal, to com uma dúvida aqui.. Como eu faço pra "bloquear" o acesso direto de usuários as páginas do site?Vou explicar. Estou fazendo uma aplicação aqui, pra intranet, onde o usuário deve fazer o login para entrar no sistema.Depois dessa validação ele libera o acesso. Mas notei que se o usuário digtar o endereço de uma página existente, ele vai conseguir entrar sem passar pela validação.Exemplo: login.php |------>pagina1.php | |------------>pagina1a.php | |------>pagina2.phpCaso eu digite "pagina1a.php" na barra de endereço eu consigo entrar sem passar pela validação da página "login.php".Alguém tem alguma idéia de como tratar isso? Compartilhar este post Link para o post Compartilhar em outros sites
wolfphw 60 Denunciar post Postado Junho 21, 2007 cara.. eu aqui faço o seguinte... Eu crio uma página que vai verificar se ele esta logado no sistema, tipo quando ele loga gera uma SESSION chamada logado que recebe o valor SIM.... dai o meu arquivo fica assim... trava.php <?phpsession_start();if ($logado != "SIM") { header("Location: nao_logado.php");}?> Dai nas página eu chamo esse arquivo logo no começo... <?phprequire("trava.php");requere("conexao.php");...?><html>...</htm> Compartilhar este post Link para o post Compartilhar em outros sites
wolfphw 60 Denunciar post Postado Junho 21, 2007 Ai vai um exemplo de um sisteminah de login soh para você ter uma ideia... Tipo eu defeni o login = usuario e a senha = teste... index.php <form name="form1" method="post" action="logar.php"> <p>Login: <input name="login" type="text" id="login"> </p> <p>Senha: <input name="senha" type="text" id="senha"> </p> <p> <input type="submit" name="Submit" value="entrar"></p></form> logar.php <?php session_start(); $login = $_POST[login]; $senha = $_POST[senha]; if ($login == "usuario" AND $senha == "teste") { $_SESSION['logado'] = "SIM"; header("Location:sistema.php"); } else { echo "Usuario invalido... <br>"; echo "Utilize... <br>"; echo "Login: usuario <br>"; echo "Senha: teste"; }?> trava.php <?php session_start(); if ($logado != "SIM") { header("Location: nao_logado.php"); }?> sistema.php <?php require("trava.php"); echo "Você esta logado";?> nao_logado.php <?php echo "Oke você esta tentando acessar??? você nao tem requisitos basicos para isso :)";?> Compartilhar este post Link para o post Compartilhar em outros sites
afbartels 0 Denunciar post Postado Junho 21, 2007 Valeu wolfphw.Será de grande ajuda.Valeu mesmo. Compartilhar este post Link para o post Compartilhar em outros sites
afbartels 0 Denunciar post Postado Junho 21, 2007 Cara, eu tentei aqui mas ta dando msg de erroWarning: session_start() [function.session-start]: Cannot send session cookie - headers already sent by (output started at C:\Arquivos de programas\Apache Software Foundation\Apache2.2\htdocs\sppp\consultamatricula.php:6) in C:\Arquivos de programas\Apache Software Foundation\Apache2.2\htdocs\sppp\trava.php on line 10Warning: session_start() [function.session-start]: Cannot send session cache limiter - headers already sent (output started at C:\Arquivos de programas\Apache Software Foundation\Apache2.2\htdocs\sppp\consultamatricula.php:6) in C:\Arquivos de programas\Apache Software Foundation\Apache2.2\htdocs\sppp\trava.php on line 10Warning: Cannot modify header information - headers already sent by (output started at C:\Arquivos de programas\Apache Software Foundation\Apache2.2\htdocs\sppp\consultamatricula.php:6) in C:\Arquivos de programas\Apache Software Foundation\Apache2.2\htdocs\sppp\trava.php on line 12e continua acessando.O que você acha que deve ser? Compartilhar este post Link para o post Compartilhar em outros sites
Anderson Mello 3 Denunciar post Postado Junho 21, 2007 session_start deve vir antes de qualquer saída HTML ná página. Verifique se não há nada antes. ;) Compartilhar este post Link para o post Compartilhar em outros sites
afbartels 0 Denunciar post Postado Junho 22, 2007 tem olha... olha o código: <body><? session_start(); include "conexaomysql.php"; [...] <body><? session_start(); echo "Logado"; echo $_SESSION['logado']; if ($logado != "SIM") { //header('Location:nao_logado.php'); // echo "<script>location.href = 'nao_logado.php';</script>"; }?></body> Compartilhar este post Link para o post Compartilhar em outros sites
ScornInPC 1 Denunciar post Postado Junho 22, 2007 faça assim <?php session_start() ?><html><head>... coloque o session_start() antes de tudo =) Compartilhar este post Link para o post Compartilhar em outros sites
afbartels 0 Denunciar post Postado Junho 22, 2007 agora só está dando esta mensagem de erro:Warning: session_start() [function.session-start]: Cannot send session cache limiter - headers already sent (output started at C:\Arquivos de programas\Apache Software Foundation\Apache2.2\htdocs\sppp\consultamatricula.php:6) in C:\Arquivos de programas\Apache Software Foundation\Apache2.2\htdocs\sppp\trava.php on line 1 Compartilhar este post Link para o post Compartilhar em outros sites
afbartels 0 Denunciar post Postado Junho 22, 2007 Galera consegui resolver meu problema.. Não estava colocando o session_start() na página para qual estava redirecionando.Agradeço a todos pela ajuda. Compartilhar este post Link para o post Compartilhar em outros sites
programador php 0 Denunciar post Postado Julho 17, 2007 galera meu problema creio que seja parecido...no sistema tem a seguinte urlindex.php?p=detalha_unidade&&unid=27se o cara trocar o 27 por outro numero que esta no banco de dados ele exibe a página teria como fazer algo do tipose o cara alterar o conteudo da barra de endereço encerrar a sessãofalou Compartilhar este post Link para o post Compartilhar em outros sites
Otata 4 Denunciar post Postado Julho 17, 2007 cara faz por hidden...tira da url...t+ Compartilhar este post Link para o post Compartilhar em outros sites
programador php 0 Denunciar post Postado Julho 17, 2007 num dá pra fazer assim... pois em alguns casos precisa alterar na urlfiz da seguinte forma..chequei se a empresa do cara era a mesma que a da sessão..se OKabria a tela caso contrario exibia você não tem permissãovalue galeraabraço Compartilhar este post Link para o post Compartilhar em outros sites