Foros del Web » Programando para Internet » PHP » Frameworks y PHP orientado a objetos »

Inyecciones SQL "prevenir con poo" como??

Estas en el tema de Inyecciones SQL "prevenir con poo" como?? en el foro de Frameworks y PHP orientado a objetos en Foros del Web. Hola bueno les comento que hace poco me estoy metiendo al tema de POO con PHP.. normalmente yo hacía todo en modo "procedimental" usando cosas ...
  #1 (permalink)  
Antiguo 20/10/2009, 06:11
 
Fecha de Ingreso: mayo-2009
Mensajes: 25
Antigüedad: 15 años
Puntos: 1
Inyecciones SQL "prevenir con poo" como??

Hola bueno les comento que hace poco me estoy metiendo al tema de POO con PHP..
normalmente yo hacía todo en modo "procedimental" usando cosas como
mysql_real_escape_string para filtrar mis cadenas.
Pero me he encontrado con que ahora en POO hay algo más de control como por ejemplo
si yo hago un bind_param('i' y digo que es entero me daría un error al tratar de cargar un string ahi..
hay otras varias cositas muy copadas ahi pero! y aqui va la pregunta..
en los ejemplos de mysql_query <- procedimental! APARECE mysql_real_escape_String y explicitamente dice que es para filtrar..
pero en los ejemplos de querys con MYSQLI no existe esa función en ningúno de los ejemplos..
yo me pregunto entonces... haciendo esto...
$algo = $laconexion->prepare("consulta...");
$algo->bind_param('...',primero,segundo,etc);
$algo->execute();
....
...
ya es suficiente para prevenir la inyección???
incluso cuando el bind_param es del tipo "s" ??
o existe algúna otra función que deba ser "pasada" para eso y que en los ejemplos no aparece?
realmente he buscado por todo internet esta pregunta y no he encontrado nada nada de documentación sobre ese aspecto..
espero una pronta respuesta y desde ya MUCHÍSIMAS GRACIAS!
  #2 (permalink)  
Antiguo 20/10/2009, 08:54
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 18 años
Puntos: 2135
Respuesta: Inyecciones SQL "prevenir con poo" como??

mysql_real_escape_string NO es para filtrar, es para escapar las comillas solamente.

bindParam sirve bien para prevenir eso, ya que el filtro se hace en el parámetro directamente y no en la cadena de la consulta, entonces es muy complicado que te puedan hacer SQL Inyection en ese caso.

Saludos.
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 05:01.