Sistema Seguro de Login Básico
1. Tabela de login
Crie um database e crie a tabela login de acordo com as informações abaixo no seu servidor de banco de dados MySQL:
2. Funções e configurações:
3. Criando o formulário de login
4. Criando a rotina de login
Nessa aréa vamos usar a função md5() (http://www.php.net/md5), criando uma senha criptografada.
5. Criando o arquivo de controle das páginas restritas.
6. Limitando acesso das suas páginas
7. Logout do sistema.
Esse é um pequeno sistema para quem tá iniciando e quer desenvolver um sistema de login. Dúvidas? Envie um comentário abaixo!
Crie um database e crie a tabela login de acordo com as informações abaixo no seu servidor de banco de dados MySQL:
CREATE TABLE login ( codLogin MEDIUMINT(8) NOT NULL AUTO_INCREMENT, login VARCHAR(100) NOT NULL, senha VARCHAR(120) NOT NULL, PRIMARY KEY (codLogin) );
2. Funções e configurações:
<?php /* config.php */ function dbcon() { @mysql_connect("localhost", "usuario", "senha") or die(mysql_error()); @mysql_select_db("nome_do_db") or die(mysql_error()); } ?>
3. Criando o formulário de login
<?php /* login.php */ if (isset($_GET["erro"])) { echo "<p>ERRO: " . $_GET["erro"] . "</p>"; } ?> <form action="logar.php" name="login" method="post" enctype="multipart/form-data"> <label>Login:</label><input type="text" name="login"><br /> <label>Senha:</label><input type="password" name="senha"><br /> <input type="submit" value="Conectar"> </form>
4. Criando a rotina de login
Nessa aréa vamos usar a função md5() (http://www.php.net/md5), criando uma senha criptografada.
<?php /* logar.php */ include("config.php"); session_start(); // pegando dados do formulario $login = str_replace("'","",$_POST["login"]); $senha = $_POST["senha"]; $senha = md5($senha); // verificado login no banco de dados dbcon(); $query = mysql_query("select * from login where login = '$login' and senha = '$senha'"); if (!$query) { die("Erro ao select da tabela login. Técnico:" . mysql_error()); } // verificando se encontrou registros do login e senha no banco de dados. if (mysql_num_rows($query) > 0) { $dados = mysql_fetch_array($query); // pegando dados do banco. $login = $dados["login"]; $chave = "1a2cf8gk68gj67gf784kh69fo6"; // chave secreca $ip = $_SERVER["REMOTE_ADR"]; // ip do usuario $hora = time(); // pegado horario atual. $chave = md5($login . $chave . $ip . $hora); // registrando a session com um array com o codLogin, login e a chave. $_SESSION['MeuLogin'] = array("id" => $codLogin,"login" => $login,"chave" => $chave,"hora" => $hora); // redirecionando para a pagina registrada. header("location: AreaRestrita.php"); } else { // redirecionando para o formulario de login com o erro. header("location: login.php?erro=Usuário ou senha Inválida"); } ?>
5. Criando o arquivo de controle das páginas restritas.
<?php /* restritos.php */ session_start(); if (isset($_SESSION['MeuLogin'])) { $login = $_SESSION['MeuLogin']['login']; $hora = $_SESSION['MeuLogin']['hora']; $chave = "1a2cf8gk68gj67gf784kh69fo6"; // chave secreca $ip = $_SESSION['REMOTE_ADDR']; // pegando ip do usuario if ($_SESSION['MeuLogin']['chave'] != md5($login . $chave . $ip . $hora)) { // verificado se a chave é válida header("Location: login.php?erro=$login Login invalido"); } // atualizando a chave com novo horario de acesso $hora = time(); $chave = md5($login . $chave . $ip . $hora); // registrando os novos dados na session. $_SESSION['MeuLogin'] = array("id" => $codLogin,"login" => $login,"chave" => $chave,"hora" => $hora); } else { header("location: login.php?erro=Aceso restrito"); } ?>
6. Limitando acesso das suas páginas
<?php /* AreaRestrita.php */ require("restritos.php"); ?> <p> Página de acesso Registro. Bem vindo <? echo $login; ?>! <a href="logout.php">logout</a></p>
7. Logout do sistema.
<?php /* logout.php */ session_start(); unset($_SESSION['MeuLogin']); header("location: login.php"); ?>
Esse é um pequeno sistema para quem tá iniciando e quer desenvolver um sistema de login. Dúvidas? Envie um comentário abaixo!
Muito obrigado por compartilhar o código, está me ajudando bastante.
09/10/2016 6:16pm
(~7 anos atrás)
Pessoal sou novo no php, e fiz um sistema com inclusão de dados com autenticação de usuarios no mysql, mas gostaria que no sistema, quando o usuario faz uma inclusão de dados fique gravado o nome desse usuario.
Alguem pode me ajudar?
Obrigado.
Alguem pode me ajudar?
Obrigado.
08/07/2009 4:37pm
(~15 anos atrás)
Pessoal sou novo no php, e fiz um sistema com inclusão de dados com autenticação de usuarios no mysql, mas gostaria que no sistema, quando o usuario faz uma inclusão de dados fique gravado o nome desse usuario.
Alguem pode me ajudar?
Obrigado.
Alguem pode me ajudar?
Obrigado.
08/07/2009 4:37pm
(~15 anos atrás)
Pessoal sou novo no php, e fiz um sistema com inclusão de dados com autenticação de usuarios no mysql, mas gostaria que no sistema, quando o usuario faz uma inclusão de dados fique gravado o nome desse usuario.
Alguem pode me ajudar?
Obrigado.
Alguem pode me ajudar?
Obrigado.
08/07/2009 4:37pm
(~15 anos atrás)
Pessoal sou novo no php, e fiz um sistema com inclusão de dados com autenticação de usuarios no mysql, mas gostaria que no sistema, quando o usuario faz uma inclusão de dados fique gravado o nome desse usuario.
Alguem pode me ajudar?
Obrigado.
Alguem pode me ajudar?
Obrigado.
08/07/2009 4:37pm
(~15 anos atrás)
Pessoal sou novo no php, e fiz um sistema com inclusão de dados com autenticação de usuarios no mysql, mas gostaria que no sistema, quando o usuario faz uma inclusão de dados fique gravado o nome desse usuario.
Alguem pode me ajudar?
Obrigado.
Alguem pode me ajudar?
Obrigado.
08/07/2009 4:37pm
(~15 anos atrás)
aki deu tudo certo...
mas como eu boto os dados do login e senha dentro da tabela?
mas como eu boto os dados do login e senha dentro da tabela?
04/11/2007 7:56am
(~16 anos atrás)
Boas, parabens por este codigo em php, está fantastico.
Eu tenho uma dúvida parecida com a anterior...como posso ir buscar o nome do usuario numa pagina do site mais á frente...
obrigado
Eu tenho uma dúvida parecida com a anterior...como posso ir buscar o nome do usuario numa pagina do site mais á frente...
obrigado
15/05/2007 9:52am
(~17 anos atrás)