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
(~9 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
(~16 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
(~16 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
(~16 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
(~16 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
(~16 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
(~18 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
(~19 anos atrás)


disse:
