• Publicidad

Evitar la inyección de estructuras de SQL

¿Ya sabes lo que es una referencia? Has progresado, el nível básico es cosa del pasado y ahora estás listo para el siguiente nivel.

Evitar la inyección de estructuras de SQL

Notapor hugo11ab » 2010-05-04 20:04 @878

¿Qué tal?

Molestándolos de nuevo con su valioso apoyo.

Estoy tratando de evitar la inyección de instrucciones SQL, pero aun no encuentro la manera adecuada de hacerlo. He buscado en Internet pero los ejemplos que hay son en PHP y en la mayoría lo que hacen es sustituir los caracteres (' / "" ) por cadenas vacías.

¿Existe en Perl algún módulo para evitar la inyección de código SQL o alguna función para poder evitar esto?
hugo11ab
Perlero nuevo
Perlero nuevo
 
Mensajes: 77
Registrado: 2006-07-22 23:24 @016

Publicidad

Re: Evitar la inyección de estructuras de SQL

Notapor explorer » 2010-05-05 03:09 @172

En la página de Wikipedia sobre la inyección SQL tienes ejemplos básicos de cómo evitarlo. En la parte de Perl se comentan dos métodos básicos: usar el método quote() de DBI o los placeholder. De estos dos métodos, el más usado, y con diferencia (por ser muy cómodo) es el de los placeholder:
Sintáxis: [ Descargar ] [ Ocultar ]
Using perl Syntax Highlighting
 $query = $sql->prepare("SELECT * FROM usuario WHERE nombre = ?");
 $query->execute($nombre_usuario);
Coloreado en 0.002 segundos, usando GeSHi 1.0.8.4


Ya ves: con solo usar el carácter '?' y luego, en el execute(), pasar los argumentos, DBI se encarga de pasar los argumentos completamente separados de la orden SQL.

Naturalmente, si se trata de no fiarse de los argumentos pasados por el usuario a nuestro programa, la opción -T es de uso obligado.

Un sitio dedicado a este tema es el de bobby-tables, con ejemplos para muchos lenguajes.
JF^D Perl programming & Raku programming. Grupo en Telegram: https://t.me/Perl_ES
Avatar de Usuario
explorer
Administrador
Administrador
 
Mensajes: 14480
Registrado: 2005-07-24 18:12 @800
Ubicación: Valladolid, España

Re: Evitar la inyección de estructuras de SQL

Notapor hugo11ab » 2010-05-05 11:49 @534

Gracias, "explorer", por tu respuesta. Lo revisaré y estaré haciendo pruebas para evitar eso.

Saludos
hugo11ab
Perlero nuevo
Perlero nuevo
 
Mensajes: 77
Registrado: 2006-07-22 23:24 @016


Volver a Intermedio

¿Quién está conectado?

Usuarios navegando por este Foro: No hay usuarios registrados visitando el Foro y 4 invitados