Ver Mensaje Individual
  #1 (permalink)  
Antiguo 01/04/2015, 07:09
IVICP3
 
Fecha de Ingreso: febrero-2015
Mensajes: 61
Antigüedad: 10 años
Puntos: 0
Otro problema mas con crypt()

Pues estoy haciendo alguna cosa basica de seguridad en mi registro de usuarios y he utilizado crypt() , me registra bien la contraseña, pero como hago el login? No hay nada del crypt en login, pero he probado varias cosas y no me loguea.

REGISTRO.PHP
Código PHP:
Ver original
  1. <?php
  2.    
  3.     //conexion a la BD
  4.  
  5.     $host = "localhost";
  6.     $user = "root";
  7.     $pass = "";
  8.     $bd = "bdproyecto";
  9.     $dbc;
  10.  
  11.     $conexion = mysqli_connect($host, $user, $pass, $bd);
  12.    
  13.  
  14.             echo "Error de conexión a la Base de Datos." . mysqli_connect_error();  
  15.         }
  16.  
  17.         //obtiene valores del formulario
  18.         $usuario = mysqli_real_escape_string($conexion, $_POST["usuario"]);
  19.         $contra = mysqli_real_escape_string($conexion, $_POST["contra"]);
  20.         $nombre = mysqli_real_escape_string($conexion, $_POST["nombre"]);
  21.         $apellidos = mysqli_real_escape_string($conexion, $_POST["apellidos"]);
  22.         $fecha_nacimiento = mysqli_real_escape_string($conexion, $_POST["fecha_nacimiento"]);
  23.  
  24.  
  25.  
  26.        
  27.         //Encriptamos la contraseña con el método crypt()
  28.         $pass = crypt_blowfish_bydinvaders($contra);
  29.  
  30.         function crypt_blowfish_bydinvaders($pass, $digito = 7) {
  31.         $set_salt = './1234567890ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz';
  32.         $salt = sprintf('$2a$%02d$', $digito);
  33.         for($i = 0; $i < 22; $i++)
  34.         {
  35.          $salt .= $set_salt[mt_rand(0, 22)];
  36.         }
  37.         return crypt($pass, $salt);
  38.         }
  39.  
  40.  
  41.  
  42.         //Insertamos valores en la BD
  43.         $sql="INSERT INTO usuario (usuario, contra, nombre, apellidos, fecha_nacimiento)
  44.        VALUES ('$usuario', '$pass', '$nombre', '$apellidos', '$fecha_nacimiento')";
  45.  
  46.         if(!mysqli_query($conexion, $sql)){
  47.             die('Error: ' . mysqli_error($conexion));
  48.         }else{
  49.             echo "Registro guardado con exito.";
  50.         }
  51. ?>







LOGIN.PHP
Código PHP:
Ver original
  1. <?php
  2.  
  3.     $host = "localhost";
  4.     $user = "root";
  5.     $pass = "";
  6.     $bd = "bdproyecto";
  7.     $dbc;
  8.  
  9.     $conexion = mysqli_connect($host, $user, $pass, $bd);
  10.  
  11.     if($conexion->connect_errno){
  12.       echo "ERROR AL CONECTARSE ($conexion->connect_errno)";
  13.     }
  14.  
  15.  
  16.      
  17.  
  18.  
  19. $usuario = $_POST["usuario"];
  20. $contra = $_POST["contra"];
  21.  
  22.  
  23. if($usuario && $contra){
  24. $consulta = "SELECT * FROM usuario WHERE usuario = '$usuario' AND contra = '$contra' ";
  25.  
  26. $resultado = mysqli_query($conexion, $consulta) or die(mysql_error());
  27. $datos = mysqli_fetch_array($resultado);
  28.  
  29.  
  30.  
  31. $row = $resultado->num_rows;
  32.  
  33. if($row<>0){
  34.       session_start();
  35.       header('Location: alentrar.html');
  36. }else{
  37.       header('Location: alnoentrar.html');
  38. }
  39. }else{
  40.     header('Location: alnoentrar.html');
  41. }
  42.  
  43.  
  44.  ?>