Ver Mensaje Individual
  #9 (permalink)  
Antiguo 06/05/2007, 11:41
DarioDario
 
Fecha de Ingreso: junio-2005
Mensajes: 981
Antigüedad: 18 años, 10 meses
Puntos: 2
Re: Inyeccion SQL

Cita:
Iniciado por Krammerkiller Ver Mensaje
Hay una diferencia entre las comillas simples y las comillas dobles
""se usan para captar cadenas substring o sea cadenas de caracteres inferiores a una cantidad de bytes que ahora no recuerdo.

'' se usan para captar cadenas de caracteres sin limites.

Ahora las inyecciones SQL tienen un cierto limite para funcionar y requieren de las comillas dobles ....ahora si les pones simples se les fastidio la cosa.
Espero haberte ayudado
La verdad que lo que dices acá nunca lo escuche... pero me gustaría que te explayes un poco más sobre el tema.

Cita:
Iniciado por da2 Ver Mensaje
Estoy muy desconcertado. Esto funciona incluso con la variable entre '', '$id'.
No hay nada seguro?
Por cierto para convertir a entero es $id = (int)$id; no?

Gracias por vuestra paciencia
Si, eso se llama casting también tienes una función para hacer lo mismo ( settype() ).


Lo que te puedo aconsejar yo es que si esperas una variable que sea un entero compruebes que lo es y si no lo es que intentes convertirlo si todo lo anterior falla hay algo raro .
Otra cosa es que verifiques si la magic_quotes están activadas y sino lo están que escapes las cadenas con addslashes(). Siempre tienes que tener claro en que estado están las variables (si están o no escapadas).
Otra cosa que puede ayudar es que si esperas una cadena pero no mayor a 3 caracteres que también lo verifiques con strlen() y si es mayor das un error.
No dejes que salte ningún error e intenta que los errores sean personalizados por vos.
Nunca, pero nunca uses una variable "desconocida" directamente en una consulta a la DB.
Otra cosa que puedes hacer es configurar un usuario en MySql (o el motor de turno) solo con derechos de lectura y en aquellos lugares que accedas solo para consultar usar este usuario, nunca accedas con un usuario con muchos privilegios si no los necesitas.

Bueno, así puedo seguir un rato largo pero el mejor consejo es "usa tu sentido común" pero a veces este sentido es el menos común

Saludos.