Foro de elhacker.net

Programación => PHP => Mensaje iniciado por: den_22 en 25 Enero 2010, 16:29 pm



Título: Contraseña cifrada con MD5
Publicado por: den_22 en 25 Enero 2010, 16:29 pm
Hola nuevamente. Tengo una duda con respecto a la cifrado con md5. Donde deberia poner el
Código:
$contrasena = md5($contrasena);

Este es el registro.php

Código:
<?php
// Configura los datos de tu cuenta
$dbhost='localhost';
$dbusername='username';
$dbuserpass='password';
$dbname='database';
// Conexi&oacute;n a la base de datos
mysql_connect("localhost", "username","password" ) or die(mysql_error());
mysql_select_db("database" ) or die(mysql_error());

// Preguntaremos si se han enviado ya las variables necesarias
if (isset($_POST["username"] ) ) {
$username = $_POST["username"];
$password = $_POST["password"];
$cpassword = $_POST["cpassword"];
$email = $_POST["email"];
// Hay campos en blanco
if($username==NULL|$password==NULL|$cpassword==NULL|$email==NULL) {
echo "Hay Campos Vacios";
}else{
// &iquest;Coinciden las contrase&ntilde;as?
if($password!=$cpassword) {
echo "Las Contrase&ntilde;as No Coinciden";
}else{
// Comprobamos si el nombre de usuario o la cuenta de correo ya exist&iacute;an
$checkuser = mysql_query("SELECT username FROM users WHERE username='$username'" ) ;
$username_exist = mysql_num_rows($checkuser);

$checkemail = mysql_query("SELECT email FROM users WHERE email='$email'" ) ;
$email_exist = mysql_num_rows($checkemail);

if ($email_exist>0|$username_exist>0) {
echo "EL Nombre de Usuario o la Cuenta de Correo Estan ya en Uso";
}else{
//Todo parece correcto procedemos con la inserccion
$query = "INSERT INTO users (username, password, email) VALUES('$username','$password','$email')";
mysql_query($query) or die(mysql_error());
echo "El Usuario $username ha Sido Registrado de Manera Satisfactoria. Ahora Puedes Iniciar Session";
}
}
}
}
?>


Y este es el código del entrar.php


Código:
<?php
// Configura los datos de tu cuenta
$dbhost='localhost';
$dbusername='username';
$dbuserpass='password';
$dbname='database';

// Conectar a la base de datos
mysql_connect("localhost", "username","password" ) or die(mysql_error());
mysql_select_db("database" ) or die(mysql_error());

if ($_POST['username'] ) {
//Comprobacion del envio del nombre de usuario y password
$username=$_POST['username'];
$password=$_POST['password'];
if ($password==NULL) {
echo "Debes Escribir el Password";
}else{
$query = mysql_query("SELECT username,password FROM users WHERE username = '$username'" ) or die(mysql_error());
$data = mysql_fetch_array($query);
if($data['password'] != $password) {
echo "Usuario o Contrase&ntilde;a Incorrecto, sino eres Usuario Puedes Registrarte <a href='registro.html'>Aqu&iacute;</a>";
}else{
$query = mysql_query("SELECT username,password FROM users WHERE username = '$username'" ) or die(mysql_error());
$row = mysql_fetch_array($query);
$_SESSION["s_username"] = $row['username'];
echo "<html><head></head><meta HTTP-EQUIV='Refresh' CONTENT='3; URL=bienvenido-usuario-inicio-session.html'><body>Hola ".$_SESSION['s_username']." Te Vamos a Redireccionar a Tu Cuenta</body></html>";
}
}
}
?>


Nos vemos.


Título: Re: Contraseña cifrada con MD5
Publicado por: cassiani en 25 Enero 2010, 17:55 pm
Encriptas la contraseña antes de almacenarla en la base de datos y en el correspondiente archivo de registro.

Para compararlo a la hora del login, vuelves a encriptarla después de las validaciones y la comparas con la que se encuentra registrada, si son idénticas, pues, ya sabes que hacer ..

saludos!!


Título: Re: Contraseña cifrada con MD5
Publicado por: Castg! en 25 Enero 2010, 19:37 pm
registro.php

Código
  1. <?php
  2. // Configura los datos de tu cuenta
  3. $dbhost='localhost';
  4. $dbusername='username';
  5. $dbuserpass='password';
  6. $dbname='database';
  7. // Conexi&oacute;n a la base de datos
  8. mysql_connect("localhost", "username","password" ) or die(mysql_error());
  9. mysql_select_db("database" ) or die(mysql_error());
  10.  
  11. // Preguntaremos si se han enviado ya las variables necesarias
  12. if (isset($_POST["username"] ) ) {
  13. $username = $_POST["username"];
  14. $password = md5($_POST["password"]);
  15. $cpassword = md5($_POST["cpassword"]);
  16. $email = $_POST["email"];
  17. // Hay campos en blanco
  18. if($username==NULL|$password==NULL|$cpassword==NULL|$email==NULL) {
  19. echo "Hay Campos Vacios";
  20. }else{
  21. // &iquest;Coinciden las contrase&ntilde;as?
  22. if($password!=$cpassword) {
  23. echo "Las Contrase&ntilde;as No Coinciden";
  24. }else{
  25. // Comprobamos si el nombre de usuario o la cuenta de correo ya exist&iacute;an
  26. $checkuser = mysql_query("SELECT username FROM users WHERE username='$username'" ) ;
  27. $username_exist = mysql_num_rows($checkuser);
  28.  
  29. $checkemail = mysql_query("SELECT email FROM users WHERE email='$email'" ) ;
  30. $email_exist = mysql_num_rows($checkemail);
  31.  
  32. if ($email_exist>0|$username_exist>0) {
  33. echo "EL Nombre de Usuario o la Cuenta de Correo Estan ya en Uso";
  34. }else{
  35. //Todo parece correcto procedemos con la inserccion
  36. $query = "INSERT INTO users (username, password, email) VALUES('$username','$password','$email')";
  37. mysql_query($query) or die(mysql_error());
  38. echo "El Usuario $username ha Sido Registrado de Manera Satisfactoria. Ahora Puedes Iniciar Session";
  39. }
  40. }
  41. }
  42. }
  43. ?>
  44.  



entrar.php

Código
  1. <?php
  2. // Configura los datos de tu cuenta
  3. $dbhost='localhost';
  4. $dbusername='username';
  5. $dbuserpass='password';
  6. $dbname='database';
  7.  
  8. // Conectar a la base de datos
  9. mysql_connect("localhost", "username","password" ) or die(mysql_error());
  10. mysql_select_db("database" ) or die(mysql_error());
  11.  
  12. if ($_POST['username'] ) {
  13. //Comprobacion del envio del nombre de usuario y password
  14. $username=$_POST['username'];
  15. $password=$_POST['password'];
  16. if ($password==NULL) {
  17. echo "Debes Escribir el Password";
  18. }else{
  19. $password=md5($_POST['password']);
  20. $query = mysql_query("SELECT username,password FROM users WHERE username = '$username'" ) or die(mysql_error());
  21. $data = mysql_fetch_array($query);
  22. if($data['password'] != $password) {
  23. echo "Usuario o Contrase&ntilde;a Incorrecto, sino eres Usuario Puedes Registrarte <a href='registro.html'>Aqu&iacute;</a>";
  24. }else{
  25. $query = mysql_query("SELECT username,password FROM users WHERE username = '$username'" ) or die(mysql_error());
  26. $row = mysql_fetch_array($query);
  27. $_SESSION["s_username"] = $row['username'];
  28. echo "<html><head></head><meta HTTP-EQUIV='Refresh' CONTENT='3; URL=bienvenido-usuario-inicio-session.html'><body>Hola ".$_SESSION['s_username']." Te Vamos a Redireccionar a Tu Cuenta</body></html>";
  29. }
  30. }
  31. }
  32. ?>

modificando estas lineas tiene que funcionar perfecto ;).


Título: Re: Contraseña cifrada con MD5
Publicado por: den_22 en 25 Enero 2010, 23:44 pm
Muchas gracias cɐstg  funcionó perfecto.


Título: Re: Contraseña cifrada con MD5
Publicado por: Castg! en 26 Enero 2010, 01:56 am
de nada, un gusto ayudarte ;)