Foro de elhacker.net

Programación => PHP => Mensaje iniciado por: Skeletron en 7 Febrero 2012, 21:31 pm



Título: Escapar integer con "(int)" para mysql_query
Publicado por: Skeletron en 7 Febrero 2012, 21:31 pm
Hola gente.
Cuando sabemos que una variable va a tener solamente valores NUMERICOS. es suficiente hacer: (int) antes de la variable? o es necesario escribir el "mysql_real_escape_string"???

o sea, esto es valido y 100% seguro?:
mysql_query("SELECT * FROM personas WHERE id_persona = '".(int)$id."'");


Título: Re: Escapar integer con "(int)" para mysql_query
Publicado por: #!drvy en 7 Febrero 2012, 21:34 pm
Teóricamente si. Porque int es lo que dice... integer, convierte cualquier cosa a un entero xD.

PD: Otra cosa es que dicho numero sea -2 en vez de 2 xD.


Saludos


Título: Re: Escapar integer con "(int)" para mysql_query
Publicado por: 2Fac3R en 8 Febrero 2012, 04:06 am
Aparte de lo que te han dicho, se podria hacer que se tome el tipo de variable ( gettype() ) y con condicionales (un if, por ejemplo) haga X en caso de ser entero, sino...Y.

Podria ser otra opcion.
Zalu2


Título: Re: Escapar integer con "(int)" para mysql_query
Publicado por: Skeletron en 8 Febrero 2012, 04:17 am
Pero antes de hacer tantas cosas, hago el: mysql_real_escape_string().
Yo siempre quería saber si con (int) ya esquivo los SQL Inyection.

Gracias :)


Título: Re: Escapar integer con "(int)" para mysql_query
Publicado por: 2Fac3R en 8 Febrero 2012, 05:56 am
Yo siempre quería saber si con (int) ya esquivo los SQL Inyection.

Si lo que se quiere es un dato entero, el (int) te servira perfecto para las SQLi ;)
Zalu2