Ver Mensaje Individual
  #1 (permalink)  
Antiguo 27/01/2012, 14:23
cslbcn
 
Fecha de Ingreso: marzo-2008
Mensajes: 383
Antigüedad: 16 años, 1 mes
Puntos: 5
Este codigo evita sql injection?

Hola a todos.

Quería preguntaros una duda que me ha surgido.
He estado probando y no he podido loguearme usando como contraseña tipicos ataques estilo 'or '1'='1

El código es el siguiente:
NOTA:
$password es una cadena codificada en MD5.
$passwordNoMD5 es una cadena tal cual la recibo del usuario, sin comprobaciones de control ni nada.

Código PHP:
Ver original
  1. $qry = "SELECT password FROM clients WHERE username='$username' AND password='$password' OR password='$passwordNoMD5'";
  2. if ($sql = mysql_query($qry)){
  3.     $client = mysql_fetch_assoc($sql);
  4.     if ($client['password'] == $password || $client['password'] == $passwordNoMD5){
  5.         return true;                   
  6.     }else
  7.         return false;
  8.     }

Existe vulneración alguna?

Gracias de antenamo.