Comunidad de diseño web y desarrollo en internet online

duda con identificacion de usuarios en php

Citar            
MensajeEscrito el 31 Jul 2010 11:11 pm
Siempre que veo un codigo de login de usuarios se procede de la misma forma:

    Conectamos con la BBDD
    Realizamos la consulta, normalmente: " SELECT * FROM login WHERE usuario='$usuario' "
    Comparamos $usuario con el valor del campo usuario obtenido de la BBDD
    Comparamos $clave con el valor del campo clave obtenido de la BBDD
    Si ambos coinciden se crean las variables de sesion oportunas


Mi pregunta es la siguiente, al hacer la consulta ya estamos comparando el valor del campo usuario en la BBDD, si está se recogen los resultados de la consulta y si no está nos retornara false o null...

¿Entonces porque despues se vuelve a comparar el valor de la variable $usuario si ya lo hemos hecho para traer los resultados de la consulta?

¿No basta con comparar el valor de la variable $clave? despues de todo si $usuario fuera distinto al valor guardado en la BBDD no tendriamos resultados

¿porque se realiza esa doble comparacion de $usuario?

Por noctam

Claber

197 de clabLevel



 

firefox
Citar            
MensajeEscrito el 31 Jul 2010 11:25 pm
Aqui dejo un ejemplo de lo que quiero decir:

Código PHP :

   $usuario=$_POST['usuario'];
   $clave=$_POST['clave'];

   //Conectamos a la BBDD y hacemos la consulta
   $conexionDB=conectar(); 
   $sql="SELECT * FROM login WHERE usuario='$usuario'";
   $resultado=mysql_query($sql, $conexionDB);
   
   //Si obtenemos resultado es que existe el usuario, 
   // por lo tanto solo nos queda comparar la clave
   if (mysql_num_rows($resultado) > 0){
      $usuarioDatos = mysql_fetch_array($resultado)
      
      if($clave!=$usuarioDatos['clave']){
         echo ("La clave no es correcta");
      } else {
         echo ("Bienvenido $usuario");
      
   } else {
      echo ("El usuario no existe");
   }

Por noctam

Claber

197 de clabLevel



 

firefox
Citar            
MensajeEscrito el 02 Ago 2010 09:42 am
Buenas,

supongo que la razón de esto es para poder verificar si el usuario existe o no y si la clave introducida es correcta o no de forma independiente, permitiendo así crear sistemas de login personalizados.

Por ejemplo, si un usuario introduce bien su nombre de usuario pero mal su clave, al tercer intento se bloqueará y entre intento e intento no podrá pasar un tiempo mínimo de 1 minuto (así se evitan ataques automáticos para acceder).

Si por el contrario, el usuario no es correcto se retorna sin ninguna penalización.

Un saludo

Por Toth

9 de clabLevel



Genero:Masculino  

msie8
Citar            
MensajeEscrito el 02 Ago 2010 05:34 pm
tiene problema esa consulta amigo estas recibiendo solamente un parametro en la consulta...!!!!!

Por Acter-Making

21 de clabLevel



 

chrome

 

Cristalab BabyBlue v4 + V4 © 2011 Cristalab
Powered by ClabEngines v4, HTML5, love and ponies.