Foros del Web » Programando para Internet » PHP »

¿Es suficiente para evitar SQL Injection?

Estas en el tema de ¿Es suficiente para evitar SQL Injection? en el foro de PHP en Foros del Web. Hola chic@s me he leído varios de los mensajes de este mismo foro, y algunos artículos al respecto, pero aún me persigue la duda de ...
  #1 (permalink)  
Antiguo 05/12/2005, 20:39
 
Fecha de Ingreso: agosto-2005
Ubicación: Argentina, Capital Federal
Mensajes: 435
Antigüedad: 18 años, 8 meses
Puntos: 2
Pregunta ¿Es suficiente para evitar SQL Injection?

Hola chic@s me he leído varios de los mensajes de este mismo foro, y algunos artículos al respecto, pero aún me persigue la duda de que tan segura es mi forma de intentar evitar este tipo de ataque.

Mi problema es que mi sistema, debe aceptar por medio de formularios, textos que escriben los usuarios. Mi primer paso es filtrarlos dejando pasar caracteres comunes al momento de escribir (con ereg) tales como el punto, la coma, las comillas simples y dobles, etc.. A su vez, tengo la directiva magic_quotes_gpc en On.

Mi pregunta es: ¿Es suficiente mi metodología para evitar el SQL Injection?
En el caso que no sea suficiente: ¿Me podrían indicar que cosas debería tener en cuenta para evitarlo?

Les agradeceré mucho sus opiniones y ayudas.
Saludos!

PD: uso MySQL.
  #2 (permalink)  
Antiguo 05/12/2005, 22:03
 
Fecha de Ingreso: junio-2005
Mensajes: 981
Antigüedad: 18 años, 10 meses
Puntos: 2
No son muchas las recomendaciones que se pueden dar sobre el tema, pero tu forma de trabajar (a mi entender) esta bien, una recomendación mas es nunca usar una variable que viene por GET, POST o COOKIE's directamente en una consulta a ld DB. Uno de los errores que más he visto es cuando realizan un paginador para los resultados los valores numericos no son verificados y son usados directamente en una consulta, nosé si puede dar grandes problema, pero seguramente te cambiaran el numero con algo mas y sacaran datos sobre tu DB a traves de los errores. Para esto existen funciones como puede ser settype() y demas, manipular los errores y no dejar mostrarlos al usuario.

Saludos y suerte.
  #3 (permalink)  
Antiguo 06/12/2005, 02:24
Avatar de leeja  
Fecha de Ingreso: octubre-2005
Mensajes: 82
Antigüedad: 18 años, 5 meses
Puntos: 0
trata de validar todo antes de hacer la consulta...en el caso de validar un usuario usa md5 ej:

select * from usuarios where md5(login)='md5($_POST['login'])' and pass='md5($_POST['pass'])'

eso convierte cualquier cadena y la encripta...
__________________
www.datasegura.net
  #4 (permalink)  
Antiguo 06/12/2005, 12:39
 
Fecha de Ingreso: agosto-2005
Ubicación: Argentina, Capital Federal
Mensajes: 435
Antigüedad: 18 años, 8 meses
Puntos: 2
De acuerdo

Agradezco sus opiniones y agradeceré a cualquier otro que opine.
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 01:22.