ASP.NET - inyeccion sql

   
Vista:

inyeccion sql

Publicado por aitor (14 intervenciones) el 23/04/2008 17:22:20
buenaaas a todo el mundoooo!!!!

Mirad tengo un problemilla.....tengo una aplicacion que accede a una base de datos, el acceso es para consultas y modificaciones. He creado unas reglas de validacion para ciertos campos con <asp:requiredfieldvalidator> para evitar la inyeccion sql. El problema lo tengo en un campo para añadir observaciones ya que necesito poder insertar cualquier tipo de caracter por lo que no puedo utilizar ninguna regla de validacion.....como hago para evitar una inyeccion sql en este campo?

muxxas gracias de todas formaaas!!!!!!!!!!!
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:inyeccion sql

Publicado por @vm (196 intervenciones) el 23/04/2008 18:11:58
Solo evita hacer concatenación de cadenas para hacer tus consultas, usa procedimientos almacenados y envía los criterios de búsqueda como parámetros.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:inyeccion sql

Publicado por Víctor Hurtado (6 intervenciones) el 24/04/2008 18:00:24
Como bien dice nuestro amigo Agustín, la mejor manera de evitar la inyección de SQL es utilizar procedimientos almacenados si es que usas un motor de base de datos que los soporte (como sql server).
Ahora, si de todas formas debes usar la concatenación de cadenas para tus instrucciones de base de datos porque derrepente ya has avanzado mucho en tu aplicación y se te hace dificil migrar todo a procedimientos almacenados, podrías hacer lo siguiente:
Hacer una equivalencia entre todas las instrucciones sql posibles que puedan dañar tus registros.
Para ello podrías reemplazar las siguientes instrucciones con equivalentes que sólo tu conozcas, todo eso antes de ejecutar la instrucción a la base de datos y al momento de mostrar dichos valores le quitas los caracteres que has utilizado, así:
- Si el usuario ingresa por ejemplo "delete from tabla", tu puedes reemplazar todas las palabras reservadas sql de esa sentencia así:
;delete; ;from; tabla y así al ejecutar dicha sentencia no hará ningún daño a tus datos.
- Al momento de cargar esos datos para mostrarles haces el proceso inverso para que al mostrarlo en una página o algo por el estilo se muestren sin los símbolos que agregaste.

Esta no es la mejor solución pero también funciona bien.

Víctor Hurtado Díaz
Si puedes visita mi web http://www.vitucho.info
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:inyeccion sql

Publicado por aitor (14 intervenciones) el 30/04/2008 11:58:28
gràciaaaas!!!!!!!!! con esto arreglo el problemillaaa
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar