Ver Mensaje Individual
  #1 (permalink)  
Antiguo 11/12/2011, 09:51
ILuzbel
 
Fecha de Ingreso: septiembre-2011
Mensajes: 106
Antigüedad: 12 años, 7 meses
Puntos: 19
Exclamación como evitar inyeccion sql

Hola a todos tengo un login en el cual si meto como user:
' OR '' = '
y una password que tenga uno de mis usuarios puedo acceder como ese usuario.

este es el codigo de la consulta del logueo:

Código PHP:
        public function login(){
        
        
//Definimos las variables
        
$nick $_POST["nick"];
        
$pass_js $_POST["pass"];
        
$pass_php md5($_POST["pass"]);
        
        
//Selecionamos la tabla usuarios
        
$sql="SELECT * FROM users WHERE nick='$nick' AND pass_js='$pass_js' AND pass_php='$pass_php' AND status='active'";
        
$res=mysql_query($sql,Connect::con());
        
        if(
mysql_num_rows($res)==0){
            echo 
"<script type='text/javascript'>alert('Los datos no existen'); window.location='index.php';</script>";
        }else{
            if(
$reg=mysql_fetch_array($res)){
                
$_SESSION["usuario"]=$reg["id_user"];
                
header("Location: ./home.php");
            }
        }
    } 
Alguien sabe como evitar que suceda esto?