Pauloooo 0 Denunciar post Postado Fevereiro 13, 2007 opa galera fiz um sistema de login e senha, se vocês puderem verificar se ele esta bem feito, seguro, alguma sugestão ou qualquer coisa da tipo ficarei gratoabraçosegue codigosarea restrita.php <div id="formulario"><script>function apaga(){ document.getElementById('senha').value = document.getElementById('senha2').value document.getElementById('senha2').value = ''; }</script><form name="form" action="security/login.php" method="post" target="_blank" onsubmit="apaga()"><fieldset> <label>Login</label> <input name="login" type="text" id="login"><br> <label>Senha</label> <input name="senha" type="hidden" id="senha"> <input name="senha2" type="password" id="senha2"><br> <input type="submit" name="enviar" value="Enviar"><br></fieldset></form></div> security/login.php <?//inclui a conexãoinclude "conecta.php";//inicia a sessão@session_start();//atribui o valor de usuario e senha para a sessão se tudo estiver correto. $_SESSION["login"] = $login; $_SESSION["senha"] = $senha; //direciona para a pagina inicial caso login e senha OK. @header("Location: index.php"); ?> security/conecta.php <?//captura o usuario e senha que foi digitado no formulario$login = $_POST["login"];$senha = $_POST["senha"]; //variaveis que podem ser trocadas de acordo com o banco de dados $host = "host = localhost"; //servidor $port = "port = 5432"; //porta $dbname = "dbname = intranet"; //banco de dados $user = "user = $login"; //usuario $password = "password = $senha"; //senha // string de conexão com o banco de dados $conn = @pg_connect("$host $port $dbname $user $password"); if(!$conn){ echo "<div align = \"center\">Não foi possivel conectar ao banco de dados.<br>"; echo "<input type=\"Button\" onclick=\"window.close('#');\" value=\"Voltar\"></div>"; exit;}?> security/index.php <?//inclui a conexãoinclude "conexao.php";//inicia a sessão@session_start();//verifica se o usuario esta logadoif(!isset($_SESSION["login"]) || !isset($_SESSION["senha"])){ // Usuário não logado! Redireciona para a página de login @header("Location: login.php"); exit;}$p = $_GET["p"];if (!$p) $p="principal";?><html><head> <title>Area Restrita</title> <link rel="stylesheet" href="style/estilo.css" type="text/css"> <link rel="stylesheet" href="style/estrutura.css" type="text/css"></head><body><div id="geral"> <div id="header"> <img src="logo.jpg" alt="Intranet DAESP" width="714" height="75" border="0"> <div id="navbar"> bem vindo <?= $_SESSION["login"] ?> | <a href= "sair.php">sair do sistema</a> </div> </div><br> <div id="middle"> <div id="left"> <? include "menu_left.php" ?> <br> </div> <div id="main"> <? if (file_exists("$p.php")) include("$p.php"); else include("404.php"); ?> <br> <br> <br> </div> </div> <div id="footer"> Intranet DAESP - Todos os Direitos Reservados © Tecnologia da Informação </div></div></body></html> security/conexao.php <?//captura o usuario e senha que foi digitado no formulario$login = $_POST["login"];$senha = $_POST["senha"]; //variaveis que podem ser trocadas de acordo com o banco de dados $host = "host = localhost"; //servidor $port = "port = 5432"; //porta $dbname = "dbname = intranet"; //banco de dados $user = "user = $login"; //usuario $password = "password = $senha"; //senha // string de conexão com o banco de dados $conn = @pg_connect("$host $port $dbname $user $password"); ?> security/sair.php <?php// Inicia sessões, para assim poder destruí-lassession_start();session_destroy();//Redireciona para a pagina de login//header("Location: login.php");echo "<a href = \"index.php\">voltars</a>";?> Compartilhar este post Link para o post Compartilhar em outros sites
Rney 0 Denunciar post Postado Março 16, 2010 ola kra vou fazer isto ainda não deu certo aqui não oque eu fasso ? ja estou tentando fazer isso a um tempão mas não consigo se você conseguir disponibilizar isto dai pronto para download agradeço e como colocar isso no meu blog? Compartilhar este post Link para o post Compartilhar em outros sites
Duardaum 0 Denunciar post Postado Outubro 30, 2010 Um geito bom de fazer um sistema de login, e criando uma classe para isso. No banco: CREATE TABLE login ( codlogin SERIAL NOT NULL, codusuario INT4 NOT NULL, login VARCHAR(20) NOT NULL, crypsenha VARCHAR(50) NOT NULL, bloqueado BOOLEAN DEFAULT FALSE UNIQUE(login), PRIMARY KEY(codlogin) ); Quando for inserir um novo usuario faça o insert da seguinte forma: INSERT INTO login VALUES (default 'codigo_do_usuario', 'login_do_usuario', MD5('senha_do_usuario'), default); A função MD5 do postgres vai criptografar a senha de forma que nem você mesmo irá saber. Quando for fazer um SELECT para verificar o usuario, traga todos os dados e faça o SELECT da seguinte forma: SELECT * FROM login WHERE login = 'login_do_usuario' AND crypsenha = MD5('senha_do_usuario') LIMIT 1; Na sua aplicação, de um fetch_xxx e verifique se o campo bloqueado está ou nao como TRUE, se tiver ja sabe.. Quando ao PHP: Crie uma classe para fazer essa autenticação com havia dito, mais antes crie uma classe apenas para fazer a conexao ao banco e executar as querys: Banco.class.php <?php class Banco { private $cnn, $qry, $sql, $db; private $host = "localhost"; private $user = "usuario_banco"; private $pass = "senha_usuario_banco"; private $banco = "nome_banco"; private $porta = "5432"; public function setHost($ip){ $this->host = $ip; } public function setUser($usr){ $this->user = $usr; } public function setPass($pwd){ $this->pass = $pwd; } public function setBanco($db){ $this->banco = $db; } private function Conectar(){ $DADOS = (object) array( "host" => $this->host, "port" => $this->porta, "user" => $this->user, "pass" => $this->pass, "banco" => $this->banco ); $str_conn = "host=".$DADOS->host." port=".$DADOS->port." dbname=".$DADOS->banco." user=".$DADOS->user." password=".$DADOS->pass; $this->cnn = pg_connect($str_conn) or die ("Erro ao tentar selecionar servidor da base de dados: " . pg_error()); } public function Executar($sql){ $this->sql = (string) $sql; self::Conectar(); $this->qry = pg_query($this->cnn, $this->sql) or die ("Erro ao executar query na base de dados: " . pg_error()); if(pg_affected_rows($this->qry) > 0){ return $this->qry; }else{ return 0; } self::Desconectar(); } private function Desconectar(){ return pg_close($this->cnn); } } ?> Autenticacao.class.php <?php class Autenticacao extends Banco { protected $_login, $_senha; public function __constructor($login, $senha){ $this->_login = addslashes($login); $this->_senha = addslashes($senha); self::validaUser(); } protected function validaUser(){ $sql = "select para autenticacao"; $rtn = parent::Executar($sql); if($rtn == '0'){ //nenhum usuario foi encontrado }else{ //Usuario encontrado //Você pode dar um fetch alguma coisa aqui para ver se ele está ou nao bloqueado; //E daqui mesmo da classe jogar os dados para dentro de uma sessao com o nome dele //e retornar true caso esteja tudo bem e redirecionar para a pagina de acesso. return true; } } } Espero ter ajudado. Compartilhar este post Link para o post Compartilhar em outros sites