Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

JoaoGusmao

[Resolvido] Inserir md5 no formulario de login

Recommended Posts

Tõ precisando de ajuda com um código que tenho...

Tenho um sistema de cadastro e um de login. O de cadastro eu já consegui converter pra MD5 e mandar pro banco de dados, porém, o de login não consegui.

Vê se alguém olhando esses códigos consegue descobri o que tenho que editar pro formulário de login gerar a senha com md5 e comparar com a cadastrada no banco.

Campo de login:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title>Untitled Document</title>
<style type="text/css">
<!--
.style1 {font-size: 36px}
-->
</style>
<link href="Config/Sistema_de_Cadastro.css" rel="stylesheet" type="text/css" />
<style type="text/css">
<!--
.style2 {
color: #FFFFFF;
font-weight: bold;
}
.style3 {color: #0000FF}
-->
</style>
</head>

<body>
<form action="logar.php" method="post" enctype="multipart/form-data" name="formlogin">
<table width="631" border="0" cellpadding="0" cellspacing="0">
 <!--DWLayoutTable-->
 <tr>
   <td width="246" height="25"> </td>
   <td width="79"> </td>
   <td width="24"> </td>
   <td width="48"> </td>
   <td width="71"> </td>
   <td width="25"> </td>
   <td width="52"> </td>
   <td width="86"> </td>
   </tr>
 <tr>
   <td height="46"> </td>
   <td colspan="6" valign="top"><span class="style1">Sistema de Cadastro </span></td>
   <td> </td>
   </tr>
 <tr>
   <td height="35"> </td>
   <td> </td>
   <td> </td>
   <td> </td>
   <td> </td>
   <td> </td>
   <td> </td>
   <td> </td>
   </tr>
 <tr>
   <td height="52"> </td>
   <td colspan="5" valign="top"><table width="100%" border="2" bordercolor="#FFFFFF" cellpadding="0" cellspacing="0">
     <!--DWLayoutTable-->
     <tr>
       <td width="70" height="24" align="right" valign="middle" bgcolor="#000000"><span class="style2">Login:</span></td>
           <td width="169" valign="middle" bgcolor="#CCCCCC"><label for="textfield"></label>
           <input name="login" type="text" id="login" maxlength="200" /></td>
         </tr>
     <tr>
       <td height="24" align="right" valign="middle" bgcolor="#000000" class="style2">Senha:</td>
           <td valign="middle" bgcolor="#CCCCCC"><label for="label"></label>
             <input name="senha" type="password" id="label" maxlength="15" /></td>
         </tr>






   </table></td>
   <td> </td>
   <td> </td>
 </tr>
 <tr>
   <td height="24"></td>
   <td> </td>
   <td> </td>
   <td valign="top"><label for="Submit"></label>
     <input type="submit" name="logar" value="Logar" id="logar" /></td>
   <td> </td>
   <td> </td>
   <td></td>
   <td></td>
 </tr>
 <tr>
   <td height="23"></td>
   <td valign="middle"><a href="cadastro.php" class="style3">Cadastre-se</a></td>
   <td> </td>
   <td colspan="2" valign="middle"><a href="Senha/lembrar_senha.php" class="style3">Esqueceu a senha?</a> </td>
   <td> </td>
   <td></td>
   <td></td>
 </tr>
 <tr>
   <td height="149"></td>
   <td> </td>
   <td> </td>
   <td> </td>
   <td> </td>
   <td> </td>
   <td></td>
   <td></td>
 </tr>
</table>
</form>
</body>
</html>

 

Logar.php:

 

<?php
// inclui o arquiv o de configuração do sistema
include "Config/config_sistema.php";
// revebe dados do formulario
$login = htmlspecialchars($_POST['login']);
$senha = md5($_POST['senha']);

// verifica se o usuario existe
$consulta = mysql_query("select * from dados_usuarios where Login='$login'");
$campos = mysql_num_rows($consulta);
if($campos != 0) {
// se o usuario existi verifica a senha dele
if($senha != mysql_result($consulta,0,"Senha")) {
	echo "<font color=red><b>
		  Senha incorreta!
		  </font></b>";
	exit;
} else {
	// estiver tudo certo vamos ver se ele é o administrador
	if($login == $login_admin) {
		// se for o login do administrador vamos verificar a senha dele
		// se é igual a do administrado
		if($senha == $senha_admin) {
			// se for o administrador vomos criar a sessão
			session_start();
			$_SESSION['login_usuario'] = $login;
			$_SESSION['senha_usuario'] = $senha;

			// redireciona o link para uma outra pagina
			header("Location: Admin/listar_usuarios.php");

		}
	} else {
		// se o login não for do administrado vamos criar a sessão dele
		session_start();
		$_SESSION['login_usuario'] = $login;
		$_SESSION['senha_usuario'] = $senha;

		// redireciona o link para uma outra pagina
		header("Location: Usuario/dados_usuario.php");
	}
}
} else {
echo "<font color=red><b>
	  O usuario não existe!
	  </font></b>";
exit;
}
?>

validar_session.php

<?php
@session_start();

// inclui o arquivo de configuração do sistema
include "Config/config_sistema.php";

// verifica se a variavel existir
if(isset($_SESSION['login_usuario']) and isset($_SESSION['senha_usuario'])) {
// se existie as sessões coloca os valores em uma varivel
$login_usuario = $_SESSION['login_usuario'];
$senha_usuario = $_SESSION['senha_usuario'];
} else {
$erro = urlencode("Você não esta logado!");
header("Location: ../index.php");
exit;
}

// verifica se as variaveis estão atribuidas
if(!(empty($login_usuario) or empty($senha_usuario))) {
// se estiverem atribuidos vamos ver se exist o login
$consulta = mysql_query("select * from dados_usuarios where Login = '$login_usuario'");
if(mysql_num_rows($consulta) == 1) {
	// se o usuario exostir vamos verificar a senha
	if($senha_usuario != mysql_result($consulta,0,"Senha")) {
		// se a senha está correta vamos apagar a
		// sessão que existia mas erra a errada
		unset($_SESSION['login_usuario']);
		unset($_SESSION['senha_usuario']);

		$erro = urlencode("Você não esta logado!");
		header("Location: ../index.php");
		exit;
	}
} else {
	unset($_SESSION['login_usuario']);
	unset($_SESSION['senha_usuario']);

	$erro = urlencode("Você não esta logado!");
	header("Location: ../index.php");
	exit;
}
} else {
// caso as sessões estarem vaizias
$erro = urlencode("Você não esta logado!");
header("Location: ../index.php");
exit;
}
mysql_close($conn);
?>

E o campo de cadastro: (vê se tem algo errado)

<?php
// inclui o arquivo de configuração do sistema
include "conecta.php";

// recebe dados do formulario
$login = htmlspecialchars($_POST['login']);
$senha = $_POST['senha'];
$rep_senha = $_POST['rep_senha'];
$nome = htmlspecialchars($_POST['nome']);
$email = htmlspecialchars($_POST['email']);
$sexo = $_POST['sexo'];
$dia = $_POST['dia'];
$mes = $_POST['mes'];
$ano = $_POST['ano'];
$pais = $_POST['pais'];
$estado = $_POST['estado'];
$cidade = $_POST['cidade'];
$cep = $_POST['cep'];
$endereco = htmlspecialchars($_POST['endereco']);
$CPF = htmlspecialchars($_POST['CPF']);

// verifica se o usuario digitou o login
if($login == "") {
echo "Digite seu login! <b><a href='javascript:history.back(1)'>Clique aqui para voltar.</a></b><br>";
exit;
} else {
// se o usuario digitou o login ele verifica
// se esta disponivel
$consulta = mysql_query("select * from dados_usuarios where Login = '$login'");
$linha = mysql_num_rows($consulta);
if($linha != 0) {
	echo "O usuário informado já está cadastrado! Escolha outro. <b><a href='javascript:history.back(1)'>Clique aqui para voltar.</a></b><br>";
	exit;
}
}

// verifica se o usuario digitou a senha
if($senha == "") {
echo "Digite uma senha! <b><a href='javascript:history.back(1)'>Clique aqui para voltar.</a></b><br>";
exit;
} else {
// se o usuario digitou a senha
// vamos comparar com a contra senha
if($senha != $rep_senha) {
	echo "Senha invalida! <b><a href='javascript:history.back(1)'>Clique aqui para voltar.</a></b><br>";
	exit;
}
}

// verifica se o usuario digitou o nome
if($nome == "") {
echo "Escolha um nome! <b><a href='javascript:history.back(1)'>Clique aqui para voltar.</a></b><br>";
exit;
}

// verifica o email
if($email == "") {
echo "Digite seu email! <b><a href='javascript:history.back(1)'>Clique aqui para voltar.</a></b><br>";
exit;
}

// verifica o sexo
$arr_sexo = array('Masculino','Feminino');
if(!in_array($sexo,$arr_sexo)) {
echo "Escolha seu sexo! <b><a href='javascript:history.back(1)'>Clique aqui para voltar.</a></b><br>";
exit;
}

// verifica a data de nascimento do usuario
// verifica o dia
if($dia == "") {
echo "Escolha o dia que você nasceu! <b><a href='javascript:history.back(1)'>Clique aqui para voltar.</a></b><br>";
exit;
} else {
// verifica o mes
if($mes == "") {
	echo "Escolha o mês que você nasceu! <b><a href='javascript:history.back(1)'>Clique aqui para voltar.</a></b><br>";
	exit;
} else {
	// verifica o ano
	if($ano == "") {
		echo "Escolha o ano que você nasceu! <b><a href='javascript:history.back(1)'>Clique aqui para voltar.</a></b><br>";
		exit;
	} else {
		// se o Dia, o Mês e o Ano passaram
		// vamos juntalos numa so varivel
		$data_nasc = $dia."/".$mes."/".$ano;
	}
}
}

// verifica o pais
if($pais == "") {
echo "Digite o país que você mora! <b><a href='javascript:history.back(1)'>Clique aqui para voltar.</a></b><br>";
exit;
}

// verifica o estado
if($estado == "") {
echo "Digite o estado que você mora! <b><a href='javascript:history.back(1)'>Clique aqui para voltar.</a></b><br>";
exit;
}

// verifica a cidade
if($cidade == "") {
echo "Digite a cidade que você mora! <b><a href='javascript:history.back(1)'>Clique aqui para voltar.</a></b><br>";
exit;
}

// verifica o cep
if($cep == "") {
echo "Digite seu CEP! <b><a href='javascript:history.back(1)'>Clique aqui para voltar.</a></b><br>";
exit;
}

// verifica a pergunta secreta
if($endereco == "") {
echo "Digite seu endereço! <b><a href='javascript:history.back(1)'>Clique aqui para voltar.</a></b><br>";
exit;
}

// verifica a resposta secreta
if($CPF == "") {
echo "Digite seu CPF! <b><a href='javascript:history.back(1)'>Clique aqui para voltar.</a></b><br>";
exit;
}

// faz consulta no banco para inserir os dados do usuario
$sql = "insert into dados_usuarios (ID,Login,Senha,Nome,Email,Sexo,DataNasc,Pais,Estado,Cidade,Cep,Endereco,CPF) values ('','$login','" . md5($senha) . "','$nome','$email','$sexo','$data_nasc','$pais','$estado','$cidade','$cep','$endereco','$CPF')";
$consulta = mysql_query($sql);

// verifica se o usuario foi cadastrado
if($consulta) {
echo "<font color=green><b>
	  Você foi cadastrado com sucesso! Clique <a href=login.php>aqui</a> para efetuar o login.
	  </font></b>";
exit;
} else {
echo "Não foi possivel efetuar o seu cadastro. Podemos estar enfrentando problemas no servidor! Preencha o formulário novamente, se o erro persistir, volte mais tarde ou contate os administradores do site.
	  Clique <a href=index.php>aqui</a> para ir ate a home page do sistema.";
exit;
}
?>
vlw ae.

Compartilhar este post


Link para o post
Compartilhar em outros sites

antes de verificar no banco, use o md5 na senha, outra coisa, nao use o mysql_result, use o mysql_fetch_array, assim você pode comparar mais facilmente, e ver mais facilmente o q esta vindo do banco...

Compartilhar este post


Link para o post
Compartilhar em outros sites

Arquivo validar_sessao.php

 

if( md5( $senha_usuario ) != mysql_result($consulta,0,"Senha")) {
   // se a senha está correta vamos apagar a
   // sessão que existia mas erra a errada
   unset($_SESSION['login_usuario']);
   unset($_SESSION['senha_usuario']);

   $erro = urlencode("Você não esta logado!");
   header("Location: ../index.php");
   exit;
}

 

é só no IF que faltou converter a senha para md5.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Não sei se vocês perceberam... mas eu fiz uma confusão desgramada com os códigos na hora de postar... verifica ai novamente.

obg

 

Arquivo validar_sessao.php

if( md5( $senha_usuario ) != mysql_result($consulta,0,"Senha")) {    // se a senha está correta vamos apagar a    // sessão que existia mas erra a errada    unset($_SESSION['login_usuario']);    unset($_SESSION['senha_usuario']);                            $erro = urlencode("Você não esta logado!");    header("Location: ../index.php");    exit;}

é só no IF que faltou converter a senha para md5.

Cara, tentei isso ai. Dá "Senha incorreta".

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.