Esteban: Hay un ataque bastante comun que consiste en incluir codigo SQL en campos de entrada, para realizar daño en la aplicacion.
En el caso que cuenta el chiste, se supone que tiene un formulario de ingreso de datos, donde pide el nombre del estudiante.
Lo habitual, es ingresar "Enrique" y con eso funciona todo bien.. La aplicacion concatena el dato ingresado con una sentencia SQL y la ejecuta en la base de datos.
Ahora, si en vez de "Enrique", se ingresa "Enrique';DROP TABLE student;--", lo que puede pasar, si la aplicacion no esta bien diseñada, es que se agrege el valor "Enrique" y luego se ejecute la sentencia que borra la tabla students y pone como comentario el resto de la linea..
Con este sencillo comando, se puede lograr borrar todos los datos de dicha tabla. Por eso hay que tener mucho cuidado y no permitir en nuestras aplicacion el ataque de "SQL Injection". Podes ver mas informacion en http://es.wikipedia.org/wiki/Inyección_SQL
En los últimos tiempos, hemos escuchado muchas opiniones sobre cómo es conveniente diseñar nuestras aplicaciones, desde el punto de vista de su arquitectura en la ejecución. Históricamente las aplicaciones eran monolíticas (una aplicación que se instalaba en una computadora y hacia todo lo que necesitaba) y en forma más recientes se esta optando por hacer aplicaciones distribuidas en varias computadoras, dividas en servicios independientes (algunos lo llaman microservicios). Al ser tan variadas las aplicaciones que realizamos, es claro que no hay una solución optima para todos los casos, sino que tenemos que adoptar (y adaptar) la arquitectura que mas nos convenga para cada caso. También hay que entender que entre una aplicación monolítica y una aplicación totalmente basada en microservicios hay una gran variedad de combinaciones posibles, pues no hay que hacer binaria la elección. El problema. Es una realidad, que los sistemas de información cada día abarcan más activida
Esta teoría no es mia, sino que se la escuché por primera vez a Andrés Acosta. Varias generaciones de niños en Montevideo, crecieron viendo un programa de televisión llamado Cacho Bochinche, donde había un juego donde habia que patear penales a un arco con un golero de goma. La falla fundamental del mismo, es que en vez de premiar a quienes metian goles, se premiaba a quienes logran pegarle un pelotazo al golero y tirarlo al suelo. O sea, quien pateaba en forma mas burda y fuerte, era el ganador. Para complicar mas la situación, muchas veces cuando un niño no lograba voltear al muñeco, el animador del programa (el inefable Cacho de la Cruz que hacía de juez), le pegaba o empujaba al golero para tirarlo al suelo y de forma de dejar contento al niño que estaba haciendo pucheros. Por lo tanto se promueven varios valores, que han logrado calar muy profundo en las generaciones de niños telespectadores: a) Es bueno patear fuerte y al medio b) Tirar a colocar es de maricones c) El golero es
Algunas veces en el código tenemos que poner una fecha como constante. Una alternativa a esta función, es usar el formato #yyyy-mm-dd# , como constante. Por ejemplo: &InitialDate =# 2007 - 01 - 01 # &DateTime = #2020-01-01 10:00:00# Esta funcionalidad está desde hace varias versiones, pero por algún motivo, no se usa demasiado. He visto que usan ymdtod(2020,01,01) que para mi queda bastante mas confuso. Más información en el siguiente link: Date Constants
no entiendo!!!
ResponderBorrarSaludos
Esteban:
ResponderBorrarHay un ataque bastante comun que consiste en incluir codigo SQL en campos de entrada, para realizar daño en la aplicacion.
En el caso que cuenta el chiste, se supone que tiene un formulario de ingreso de datos, donde pide el nombre del estudiante.
Lo habitual, es ingresar "Enrique" y con eso funciona todo bien.. La aplicacion concatena el dato ingresado con una sentencia SQL y la ejecuta en la base de datos.
Ahora, si en vez de "Enrique", se ingresa "Enrique';DROP TABLE student;--", lo que puede pasar, si la aplicacion no esta bien diseñada, es que se agrege el valor "Enrique" y luego se ejecute la sentencia que borra la tabla students y pone como comentario el resto de la linea..
Con este sencillo comando, se puede lograr borrar todos los datos de dicha tabla. Por eso hay que tener mucho cuidado y no permitir en nuestras aplicacion el ataque de "SQL Injection". Podes ver mas informacion en http://es.wikipedia.org/wiki/Inyección_SQL
Gracias por el comentario..