¿Cómo evitar injección SQL?

Iniciado por bertamax, 10 Septiembre 2010, 17:05 PM

0 Miembros y 1 Visitante están viendo este tema.

bertamax

En java, utilizando la librería ESAPI y con una base de datos SQL Server.
Gracias

Debci

Filtra los caracteres como ' e indices negativos que pueda provocar errores.

Saludos

bertamax

El problema es que yo he intentando evitarlo usando la clase PreparedStatement e también lo he intentado usando variables parametrizadas, como explica en el siguiente enlace:
http://es.wikipedia.org/wiki/Inyecci%C3%B3n_SQL
pero en ambos casos aunque no me ejecuta la sentencia sql, me la introduce como un campo de texto en la base de datos.
Entonces yo estoy intentando que directamente si algun atancante quiere meterme alguna instruccion en la base de datos que no pueda.
He estado viendo si usando la librería ESAPI se podría, pero da bastantes problemas.
Estoy mirando manera de cómo resolver mi problema de una forma cómoda y fácil, no se si alguien conocerá
Gracias

Debci

Cita de: bertamax en 10 Septiembre 2010, 17:32 PM
El problema es que yo he intentando evitarlo usando la clase PreparedStatement e también lo he intentado usando variables parametrizadas, como explica en el siguiente enlace:
http://es.wikipedia.org/wiki/Inyecci%C3%B3n_SQL
pero en ambos casos aunque no me ejecuta la sentencia sql, me la introduce como un campo de texto en la base de datos.
Entonces yo estoy intentando que directamente si algun atancante quiere meterme alguna instruccion en la base de datos que no pueda.
He estado viendo si usando la librería ESAPI se podría, pero da bastantes problemas.
Estoy mirando manera de cómo resolver mi problema de una forma cómoda y fácil, no se si alguien conocerá
Gracias
Me hablas de una aplicación de escritorio o servicio web?

Saludos

bertamax

Un servidor web, utilizo JSPs.
Gracias

Debci

Cita de: bertamax en 10 Septiembre 2010, 18:02 PM
Un servidor web, utilizo JSPs.
Gracias
Entonces yo acederia a la sql por un servidor remoto que haga de puente y en aquel filtrar lo recivido, puedes hacerlo en uno mismo, pues varios servidores ralentizarian dichas cosnultas.
Ya digo que con filtrar manualmente las comillas simples y los indices negativos tienes muchisimo ganado.

Saludos

bertamax

¿Entonces no me recomiendas usar la librería ESAPI?

~ Yoya ~

CitarFiltra los caracteres como ' e indices negativos que pueda provocar errores

Seguro?

http://shiflett.org/blog/2006/jan/addslashes-versus-mysql-real-escape-string

Aunque en ese articulo, los ejemplos están hechos en PHP, ps es facir entender lo que se trata de aclarar.

Eso siempre depende del caso en que te encuentres...
Mi madre me dijo que estoy destinado a ser pobre toda la vida.
Engineering is the art of balancing the benefits and drawbacks of any approach.

Debci

Cita de: ~ Yoya ~ en 13 Septiembre 2010, 23:24 PM
CitarFiltra los caracteres como ' e indices negativos que pueda provocar errores

Seguro?

http://shiflett.org/blog/2006/jan/addslashes-versus-mysql-real-escape-string

Aunque en ese articulo, los ejemplos están hechos en PHP, ps es facir entender lo que se trata de aclarar.

Eso siempre depende del caso en que te encuentres...

Cuando hablo de comillas hablo de slashes y otros caracteres especiales -.-

Saludos

bertamax

Muchas gracias, lo he hecho como me dijistes, Derbi, utilizando la función contains de java.
Saludos