nvGullit 0 Denunciar post Postado Janeiro 13, 2007 como q eu faço para q uma página só possa ser aberta atraves da página de login, eu num to sabendo nem por onde começar, na verdade eu ja tenho um sisteminha de login, porem c eu digitar o endereço da página restrita ele entra numa boa. oq eu tenho q fazer para q ele só permita a entrada com os dados requeridos para login: ai vai o código do meu siteminha de login: o formulario.php <fieldset><h1>Faça seu login</h1><div class=admin_form> <form action="admin/receber.php" method="post" onsubmit="logar(); return false"> <p>Login:</p> <INPUT class=frm name=login id=nome value="" onblur="this.className='frm';" onfocus="this.className='frm_on';"> <p>Senha:</p> <INPUT class=frm name=senha id=senha value="" type=password onblur="this.className='frm';" onfocus="this.className='frm_on';"> <br><INPUT class="button" type=submit value=Enviar> </form></div></fieldset> <div id="inclusao"></div>o receber.php <?phpob_start();/* Evitando warning*/session_start();/* Não gravar em cache */$gmtDate = gmdate("D, d M Y H:i:s"); header("Expires: {$gmtDate} GMT"); header("Last-Modified: {$gmtDate} GMT"); header("Cache-Control: no-cache, must-revalidate"); header("Pragma: no-cache"); header("Content-Type: text/html; charset=iso-8859-1"); extract($_POST);if(!$login && !$senha ) { echo '<script>alert("Os campos são de preencimentos obrigatorios!");java script:history.back(1)</script>'; exit(); } else if (!$login) { echo '<script>alert("O campo Login é de preenchimento Obrigatorio!");java script:history.back(1)</script>'; exit(); } else if (!$senha) { echo '<script>alert("O campo senha é de preenchimento Obrigatorio!");java script:history.back(1)</script>'; exit(); } /* proteção sql injection escarpando as aspas */$login=addslashes($login);$senha=addslashes($senha);$host = "localhost";$user = "root";$pass = "";$db = "wespa_calendario";//conectar ao banco$conexao = mysql_connect($host, $user, $pass) or die("deu erro!");mysql_select_db($db) or die("deu erro !");$re = mysql_query("select COUNT(*)as total from usuario where login = '$login' and senha =('$senha')");$total = mysql_result($re,'total');/* Consulta verifica se existe usuariocom o login passado e senha */if($total == 1) {/* Se o $total for = a 1 ousuario existe *//* Armazenando as variaveis na nossa Session */$_SESSION["login"] =($login);$_SESSION["senha"] =($senha);//include 'admin.php';echo '<a href=admin.php >Ir para area admin'." ". $_SESSION["login"].'</a><br/>';echo '<br>';echo '<a href=../index.php> Página Principal</a>';//print '<a href=central.php >Ir para area gestão'." ". $_SESSION["login"].'</a>';/*e direcionar para a pagina admin */exit (); /*caso o total seja zero eu saiu com exit() destroy qualquer session */} session_destroy();echo '<script>alert("Senha ou Login Invalidos! Por favor corrija seus dados.");java script:history.back(1)</script>'; /* Informarmos senha invalida */ob_end_flush(); /*limpar o buffer */?>a pagina q eu queria deixar restrita: eu ainda num coloquei nela ainda pq eu quero começar primeiro com a autenticação, depois eu vou fazer a parte da administração! admin.php echo '<br>'; echo '<a href=../index.php> Página Principal</a>'; ?> linenums:0'><?phpecho 'Àrea de administração esta em construção!';echo '<br>';echo '<a href=../index.php> Página Principal</a>';?> desde ja agradeço! Aguardo respostas. Compartilhar este post Link para o post Compartilhar em outros sites
João Melo 1 Denunciar post Postado Janeiro 13, 2007 Vamos lá, vou mostrar do jeito que tenha aqui. pagina_protegida.php <?phpsession_start();include "valida_session.php";include "coneccao.php";?><html><body>Seja bem vindo ao site!!!<br>Coloque o conteudo aqui!!!<br><br><br><a href="logout.php">Sair</a></body></hmtl> coneccao.php <?function coneccao(){ global $base; $base = mysql_connect("localhost","root","password") or die ("Erro ao conectar"); $db = mysql_select_db("teste"); }?> valida_session.php echo "<img src='malandro.png'</center>"; exit();/*caso nao tinha session.. quer dizer.. ele nao logou*/ } /*aqui primeiro ele checa para ver se exite essas Sessoes, e depois ele coloca o valor das sessoes nessas variaveis... para fazermos os testes!*/ if(!(empty($login_usuario) OR empty($senha_usuario))) { //acessa ao banco de dados $cn = mysql_connect("localhost", "root", "password"); mysql_select_db("teste"); $resultado = mysql_query("select * from usuarios where login = '$login_usuario'"); if (mysql_num_rows($resultado) == 1)/*caso exista esse login.. vamos testar a senha entao*/ { if ($senha_usuario != mysql_result($resultado, 0, "senha")) { unset ($_SESSION["nome_usuario"]);/*apaga a session que existia mas era errada..*/ unset ($_SESSION["sehna_usuario"]); echo "<h1><center>Você não tem permissão para acessar esta página!</h1>"; echo "<center>Você não efetuou o login.<br />"; echo "<center><a href='login.htm'>«Voltar</a></center>"; exit(); } }else { unset ($_SESSION["nome_usuario"]); unset ($_SESSION["sehna_usuario"]); echo "<h1><center>Você não tem permissão para acessar esta página!</h1>"; echo "Você não efetuou o login.<br />"; echo "<a href='login.htm'>«Voltar</a></center>"; exit(); } }else{ echo "<h1><center>Você não tem permissão para acessar esta página!</h1>"; echo "Você não efetuou o login.<br />"; echo "<a href='login.htm'>Voltar</a></center>"; exit();/*caso das sessions estarem vazias*/ } mysql_close($cn); ?> linenums:0'><?php//session_start();if (isset($_SESSION["login_usuario"]) AND isset($_SESSION["senha_usuario"])) { $login_usuario = $_SESSION["login_usuario"]; $senha_usuario = $_SESSION["senha_usuario"];}else{ echo "<h1><center>Você não tem permissão para acessar esta página!</h1>"; echo "<center>Você não efetuou o login.<br/>"; echo "<a href='login.htm'>«Voltar</a><br/ >"; echo "<img src='malandro.png'</center>"; exit();/*caso nao tinha session.. quer dizer.. ele nao logou*/} /*aqui primeiro ele checa para ver se exite essas Sessoes, e depois ele coloca o valor das sessoes nessas variaveis... para fazermos os testes!*/if(!(empty($login_usuario) OR empty($senha_usuario))){//acessa ao banco de dados$cn = mysql_connect("localhost", "root", "password");mysql_select_db("teste");$resultado = mysql_query("select * from usuarios where login = '$login_usuario'");if (mysql_num_rows($resultado) == 1)/*caso exista esse login.. vamos testar a senha entao*/{ if ($senha_usuario != mysql_result($resultado, 0, "senha")) { unset ($_SESSION["nome_usuario"]);/*apaga a session que existia mas era errada..*/ unset ($_SESSION["sehna_usuario"]); echo "<h1><center>Você não tem permissão para acessar esta página!</h1>"; echo "<center>Você não efetuou o login.<br />"; echo "<center><a href='login.htm'>«Voltar</a></center>"; exit(); } }else { unset ($_SESSION["nome_usuario"]); unset ($_SESSION["sehna_usuario"]); echo "<h1><center>Você não tem permissão para acessar esta página!</h1>"; echo "Você não efetuou o login.<br />"; echo "<a href='login.htm'>«Voltar</a></center>"; exit();}}else{ echo "<h1><center>Você não tem permissão para acessar esta página!</h1>"; echo "Você não efetuou o login.<br />"; echo "<a href='login.htm'>Voltar</a></center>"; exit();/*caso das sessions estarem vazias*/} mysql_close($cn);?> logout.php <?phpsession_start();$_SESSION = array();session_destroy();header("Location: login.htm");?> login.php $linhas = mysql_num_rows($resultado); if ($linhas ==0)//testa se a consulta retornou algum registro { echo "Usuário não encontrado<br />"; echo "<a href=login.htm>logar</a>"; } else { if ($senha != mysql_result($resultado, 0, "senha"))//confere a senha { echo "Usuário não encontrado<br />"; echo "<a href=login.htm>logar</a>"; }else{//usuario correto.. vamos criar os cookies com sessions... // session_start();//nunca esqueça de por isso antes de usar session $_SESSION["login_usuario"] = $login; $_SESSION["senha_usuario"] = $senha; // redireciona para a pagina principal header("Location linenums:0'><?php session_start();global $login,$senha;//obtem os valores digitador$login = $_POST["login"];$senha = md5($_POST["senha"]);//acessa ao banco de dados$cn = mysql_connect("localhost", "root", "password");mysql_select_db("teste");$resultado = mysql_query("select * from usuarios where login = '$login'");$linhas = mysql_num_rows($resultado);if ($linhas ==0)//testa se a consulta retornou algum registro{echo "Usuário não encontrado<br />";echo "<a href=login.htm>logar</a>";} else { if ($senha != mysql_result($resultado, 0, "senha"))//confere a senha { echo "Usuário não encontrado<br />"; echo "<a href=login.htm>logar</a>"; }else{//usuario correto.. vamos criar os cookies com sessions...// session_start();//nunca esqueça de por isso antes de usar session $_SESSION["login_usuario"] = $login; $_SESSION["senha_usuario"] = $senha; // redireciona para a pagina principal header("Location: pagina_principal.php"); }}mysql_close($cn);?> login.htm <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN""http://www.w3.org/TR/html4/loose.dtd"><html><head><meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"><title>LOGIN</title></head><body><form name="form1" method="post" action="login.php"> <p>Login: <input name="login" type="text" id="login"></p> <p>Senha: <input name="senha" type="password" id="senha"></p> <p> <input type="submit" name="Submit" value="Enviar »"> </p></form></body></html>Espero ter te ajudado http://forum.imasters.com.br/public/style_emoticons/default/thumbsup.gif Compartilhar este post Link para o post Compartilhar em outros sites
nvGullit 0 Denunciar post Postado Janeiro 14, 2007 kra, vlw mesmo, eu vou testar aqui e depois te flw qual doi o resultado. Compartilhar este post Link para o post Compartilhar em outros sites