Ver Mensaje Individual
  #2 (permalink)  
Antiguo 04/08/2013, 11:00
Onedy
 
Fecha de Ingreso: julio-2011
Mensajes: 62
Antigüedad: 12 años, 9 meses
Puntos: 2
Respuesta: ¿Es correcta esta validacion de logeo?

Usa mejor esta consulta:
Código PHP:
Ver original
  1. $sql="SELECT contrasena FROM usuarios WHERE usuario='".$_POST['usuario']."' LIMIT 1";
  2. $result=$mysqli->query($sql);

Y luego comparas con PHP:
Código PHP:
Ver original
  1. $logueado=false;
  2. if($result->num_rows==1){
  3.     $fila=$result->fetch_assoc();
  4.     if($fila['contrasena']==sha1($_POST['contrasena'])) $logueado=true;
  5. }
  6.  
  7. echo $logueado ? 'Bienvenido' : 'Error durante el login';

¿Por qué? Pues simplemente porque el nombre de usuario es único, no necesitas más condiciones para encontrar un usuario. Y recoges solamente la contraseña porque no necesitas más datos, sólo la comparas con la introducida y ya está.

De todas formas tienes que filtrar el nombre de usuario que introduces en la consulta, no vaya a ser que te inyecten código