Foros del Web » Programando para Internet » PHP »

PHP OO como evitar inyeccion sql

Estas en el tema de como evitar inyeccion sql en el foro de PHP en Foros del Web. Hola a todos tengo un login en el cual si meto como user: ' OR '' = ' y una password que tenga uno de ...
  #1 (permalink)  
Antiguo 11/12/2011, 09:51
 
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?
  #2 (permalink)  
Antiguo 11/12/2011, 09:57
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Respuesta: como evitar inyeccion sql

Debes escapar siempre tus cadenas, lee el siguiente tema:
http://www.forosdelweb.com/f18/escap...idades-963010/
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #3 (permalink)  
Antiguo 11/12/2011, 10:13
 
Fecha de Ingreso: septiembre-2011
Mensajes: 106
Antigüedad: 12 años, 7 meses
Puntos: 19
Respuesta: como evitar inyeccion sql

Cita:
Iniciado por pateketrueke Ver Mensaje
Debes escapar siempre tus cadenas, lee el siguiente tema:
[url]http://www.forosdelweb.com/f18/escapar-filltrar-entidades-963010/[/url]
Muchas gracias +1 , lo he resuelto de este modo:

Código PHP:
if (get_magic_quotes_gpc()!=1)
$nick=addslashes($_POST["nick"]); 
Saludos

Etiquetas: sql, tabla, variables, usuarios
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 22:54.