Foros del Web » Programación para mayores de 30 ;) » Bases de Datos General »

Evitar SQL-Injection mediante el uso de parámetros

Estas en el tema de Evitar SQL-Injection mediante el uso de parámetros en el foro de Bases de Datos General en Foros del Web. Tenía entendido que aparte de sustituir todos los caracteres potencialmente peligrosos que te introdujeran desde un formulario, podías utilizar parámetros al ejecutar la sentencia SQL ...
  #1 (permalink)  
Antiguo 01/08/2007, 15:14
 
Fecha de Ingreso: febrero-2005
Mensajes: 1.015
Antigüedad: 19 años, 9 meses
Puntos: 6
Evitar SQL-Injection mediante el uso de parámetros

Tenía entendido que aparte de sustituir todos los caracteres potencialmente peligrosos que te introdujeran desde un formulario, podías utilizar parámetros al ejecutar la sentencia SQL (en lugar de crearla dinámicamente), siendo esto ya suficiente para evitar el SQL-Injection o como poco avanzando bastante faena.

¿Estoy en lo cierto? ¿Por qué ayuda el uso de parámetros (por ejemplo, poner: WHERE campo1=@valor)? ¿Hasta qué punto evitan el SQL Injection?

------------------------------------------------

Páginas sobre el tema:

Que apoyan la tesis que he mencionado arriba sobre utilizar parámetros:
http://dotnetjunkies.com/WebLog/vbpu...injection.aspx
http://es.wikipedia.org/wiki/Inyecci%C3%B3n_SQL
Entretenidas:
http://elladodelmal.blogspot.com/200...valor-por.html
  #2 (permalink)  
Antiguo 04/08/2007, 23:37
Avatar de Gabo77  
Fecha de Ingreso: noviembre-2006
Mensajes: 381
Antigüedad: 18 años
Puntos: 6
Re: Evitar SQL-Injection mediante el uso de parámetros

No me creas, pero si utilizas un poco la lógica, cuando usas parámetros es por que estas hablando de un StoredProcedure, en el cuál tienes una sentencia SQL ya definida, es decir, no se arma mediante cadenas de texto para luego llamar a la sentencia execute, con lo cual, cualquier cosa que le pongan al parámetro (sean comillas o código SQL) no lo incorporará al cuerpo de la sentencia, sencillamente por que no estas armando una consulta, ya está armada, lo que le pases por medio parámetro pos no es mas que parámetro y punto.

Ahora, si dentro del SP armas un SQL dinámico con lo recibido por parámetro, entonces el que venga por parámetro no te va a proteger nada....

Espero haber sido claro, por que ni yo me entendí.... :p


Saludos!
__________________
Hicimos un pacto con Dios... El no desarrolla Sistemas y nosotros no hacemos milagros....
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 23:33.