Php Sessões / senhas md5

Fabriziopt

Power Member
Boas estou a ver um código de sessões que tem as passwords em md5.
Eu não estou a conseguir por as senhas em md5:
SIte: http://www.linhadecodigo.com.br/artigos.asp?id_ac=258

gerador md5:

[FONT=Verdana,Geneva,Arial,Helvetica,sans-serif]
<?php

echo md5("senha123");

echo
"<br>";

echo
md5("teste");

?>

[/FONT]

[FONT=Verdana,Geneva,Arial,Helvetica,sans-serif]página que utiliza:
<?php

// Conexão com o banco de dados

require "comum.php";



// Inicia sessões

session_start();



// Recupera o login

$login = isset($_POST["login"]) ? addslashes(trim($_POST["login"])) : FALSE;

// Recupera a senha, a criptografando em MD5

$senha = isset($_POST["senha"]) ? md5(trim($_POST["senha"])) : FALSE;



// Usuário não forneceu a senha ou o login

if(!$login || !$senha)

{

echo
"Você deve digitar sua senha e login!";

exit;

}



/**

* Executa a consulta no banco de dados.

* Caso o número de linhas retornadas seja 1 o login é válido,

* caso 0, inválido.

*/

$SQL = "SELECT id, nome, login, senha, postar

FROM aut_usuarios

WHERE login = '"
. $login . "'";

$result_id = @mysql_query($SQL) or die("Erro no banco de dados!");

$total = @mysql_num_rows($result_id);



// Caso o usuário tenha digitado um login válido o número de linhas será 1..

if($total)

{

// Obtém os dados do usuário, para poder verificar a senha e passar os demais dados para a sessão

$dados = @mysql_fetch_array($result_id);



// Agora verifica a senha

if(!strcmp($senha, $dados["senha"]))

{

// TUDO OK! Agora, passa os dados para a sessão e redireciona o usuário

$_SESSION["id_usuario"] = $dados["id"];

$_SESSION["nome_usuario"] = stripslashes($dados["nome"]);

$_SESSION["permissao"] = $dados["postar"];

header("Location: index.php");

exit;

}

// Senha inválida

else

{

echo
"Senha inválida!";

exit;

}

}

// Login inválido

else

{

echo
"O login fornecido por você é inexistente!";

exit;

}

?>
[/FONT] Não sei onde hei-de meter o gerador e como por as senhas em md5
Ou seja não sei como funciona esta cena do md5.
Se me derem um código mesmo não sendo em md5 ( o que acho que nao preciso, mas que funcione com sessoes) para o que eu quero da.
Abraço
 
Antes de mais, isto pertence ao Web Development ;)

Acho que não deves estar a perceber bem o que é o MD5. Para hashares uma string qualquer, apenas tens de usar a função md5 como a usaste no primeiro bloco PHP. Onde está a dúvida?

$md5 = md5("Hello world!");

$md5 passa a ter "Hello world!" hashado com MD5.


Não devo estar a perceber muito bem o que estás a perguntar =\

edit: em vez do "addslashes", que usas para o $login, aconselho-te a usar o mysql_real_escape_string ;)
 
Podes usar a função MD5() do MySQL e, aquando do registo de um utilizador, passas a password deste como argumento. Algo do género:

Código:
INSERT INTO user VALUES ('username', MD5('password'));
 
Sessoes php

Boas
Estou a entrar no php e quero fazer um site em que o utilizador mantenha " a sessao" durante a sua visita
Ja tentei varios codigos mas nao tenho tido bons resultados
Alguem me dispoes de um dos códigos para fazer uma sessao ?
abraço
 
Se dizes que ja tiveste a ver mas que não resultou para o teu caso (seja por eventual compatibilidade ou mesmo por azelhice) porque é que achas que o que te vamos dizer aqui vai resultar? Não era mais facil colocar uma questão directa?

Além do mais existem muitos posts recentes sobre esse mesmo assunto...
 
ao colocares no inicio do código (em todos os ficheiros)
Código:
session_start();
A sessão é mantida durante a navegação, o que significa que as variáveis
Código:
$_SESSION["variavel"]
não são apagadas durante a mesma.
 
Boas estive a investigar no livro php5 e encontrei o seguinte codigo que apliquei no meu site
Mas na hora do login não aceita o registo
O codigo que inseri foi o seguinte
index.html
<html>
<head><title>Login</title></head>
<body>
<form action="main.php" method="post">
Sistema Auntenticado dp Site.<br>
Login: <input type="text" name="nickname" ><br>
Senha: <input type="password" name="password" ><br>
<input type="submit" value="Entrar" />
</form>
</body></html>

main.php
<?php
// Login/sessão
// index.php


include("auth.php");

include("nav.php");

echo "Esta é a homepage.";
echo "<br><br>Utilizador - " . $_SESSION['nickname'];

// Fechar a ligação ao mysql
mysql_close();
?>

auth.php

<?php
session_start();
// auth.php
// start session

include("connectDB.php");

if($_POST){
$_SESSION['nickname']=$_POST["nickname"];
$_SESSION['password']=$_POST["password"];
}

// query
$result=mysql_query("select * from users where login='" . $_SESSION['nickname'] . "' and password='" . $_SESSION['password'] . "'");

// número de registos
$num=mysql_num_rows($result);
// se não há registos aparece o ecrã de login.
if($num < 1){
echo "Não está autenticado. Faça login sff.<br><br>

<form method=POST action=index.php>
Utilizador: <input type=text name=\"nickname\">
password: <input type=password name=\"password\">
<BR> <BR> <BR> <BR>
<input type=submit value=\" - Login - \">
</form>";

exit;
}
?>

nav.php

<?php
// nav.php
?>

<a href=index.php>Home</a> |
<a href=pag_1.php>pagina_1</a> |
<a href=pag_2.php>pagina_2</a> |
<a href=pag_3.php>pagina_3</a> |
<a href=logout.php>logout</a>

<br><br>

connectdb.php

<?php
// connect.php


$hostname="onde esta a base de dados";
$mysql_login="ninkname";
$mysql_password="senha";
$database="nome dabase de dados";

if (!($db = mysql_connect($hostname, $mysql_login , $mysql_password))){
die("impossível ligar ao MySQL.");
}else{
if (!(mysql_select_db("$database",$db))) {
die("Impossível ligar a db.");
}
}
?>

Amigos o que estou a fazer de mal
Obrigado pela disponibilidade
Abraço
user_offline.gif
 
Back
Topo