Ver Mensaje Individual
  #5 (permalink)  
Antiguo 13/12/2011, 14:04
Avatar de Uncontroled_Duck
Uncontroled_Duck
Colaborador
 
Fecha de Ingreso: mayo-2011
Ubicación: Málaga [Spain]
Mensajes: 806
Antigüedad: 15 años, 4 meses
Puntos: 261
Respuesta: problema con logeo de contraseña y usuario

Lo he mirado así un poco rápido. Al guardar la pass lo guardas mediante
Código PHP:
$password = sha1(trim(preparar_consulta($_POST["password"]) 
Y al realizar la comparación, estás comparando la pass que viene por POST (sin sha1), con la que está guardada en la DB que la has guardado con sha1.
Código PHP:
//archivo login
$username = $_POST["username"]; 
$password = $_POST["password"]; 
     
$usuario= Usuario::autenticar($username,$password); 
En alguna parte de aquí debes igualar el proceso de hasheado antes de pasarlo a la consulta para que compare las dos contraseñas exactamente iguales.
Código PHP:
//class Usuario
    
public static function autenticar($username = "", $password= "") 
    { 
        global 
$bd; 
        
$username = $bd->preparar_consulta($username); 
        
$password = $bd->preparar_consulta($password); 
         
        
$sql = "SELECT * FROM usuarios "; 
        
$sql .= " WHERE username='{$username}' "; 
        
$sql .=" AND password='{$password}' "; 
        
$sql .=" LIMIT 1"; 
         
        
$matriz_usuarios = Usuario::buscar_por_sql($sql); 
        return  (!empty(
$matriz_usuarios)) ? array_shift($matriz_usuarios) : false ; 
    } 
Prueba y nos cuentas,
__________________
Todos agradeceremos que pongas el código en su respectivo Highlight