Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Otros temas > La Taberna
Registrarse FAQ Miembros Calendario Guía de estilo Buscar Temas de Hoy Marcar Foros Como Leídos

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 12-04-2012
Avatar de AzidRain
[AzidRain] AzidRain is offline
Miembro Premium
 
Registrado: sep 2005
Ubicación: Córdoba, Veracruz, México
Posts: 2.914
Poder: 21
AzidRain Va camino a la fama
Aprendiendo de los errores de otros en BDs

Me econtre este sitio muy bueno que trata sobre diferentes estrategias para prevenir la inyección de código SQL en nuestras aplicaciones y me puse a pensar en varios ejemplos que he visto de desarrollos de mis colegas cordobeses en donde tal vez por comodidad practicamente se puede hacer de todo. He visto muchos casos donde por ejemplo en un soft de gestión, para buscar un producto por nombre le piden al usuario que escriba un "%" como comodín si no se sabe el nombre completo. En otros casos me encontré con una Forma que tenia un TMemoEdit para escribir supuestamente "comandos" definidos por el desarrollador del software quien coloco unos botones que al presionarlos simplemente escribian el código a ejecutar. De manera que tranquilamente podiamos ponernos a escribir cualquier comando SQL válido y su programa lo ejecutaba!!

Pero bueno, a todos en algún momento nos ha pasado.
__________________
AKA "El animalito" ||Cordobés a mucha honra||
Responder Con Cita
  #2  
Antiguo 13-04-2012
Avatar de Casimiro Notevi
Casimiro Notevi Casimiro Notevi is offline
Moderador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.021
Poder: 10
Casimiro Notevi Tiene un aura espectacularCasimiro Notevi Tiene un aura espectacular
Conozco más de un programa que hace eso, pero claro, lo han pedido los clientes
Responder Con Cita
  #3  
Antiguo 13-04-2012
Avatar de roman
roman roman is offline
Moderador
 
Registrado: may 2003
Ubicación: Ciudad de México
Posts: 20.269
Poder: 10
roman Es un diamante en brutoroman Es un diamante en brutoroman Es un diamante en bruto
Cita:
Empezado por AzidRain Ver Mensaje
para buscar un producto por nombre le piden al usuario que escriba un "%" como comodín si no se sabe el nombre completo.
A ver, quiero aprender. Yo hago esto que dices en una aplicación Delphi con MySQL. ¿Cuál sería el problema?.

Estrictamente hablando, esta es la consulta:

Código SQL [-]
select * from tabla where nombre like :valor

y sustituyo el parámetro con lo que escriba el usuario.

// Saludos
Responder Con Cita
  #4  
Antiguo 13-04-2012
Avatar de AzidRain
[AzidRain] AzidRain is offline
Miembro Premium
 
Registrado: sep 2005
Ubicación: Córdoba, Veracruz, México
Posts: 2.914
Poder: 21
AzidRain Va camino a la fama
la consulta es válida, pero si ya sabes que te pueden poner eso que mencionas simplemente quitas los % de la entrada del usuario y no haces un like asi tan directo.
__________________
AKA "El animalito" ||Cordobés a mucha honra||
Responder Con Cita
  #5  
Antiguo 13-04-2012
Avatar de roman
roman roman is offline
Moderador
 
Registrado: may 2003
Ubicación: Ciudad de México
Posts: 20.269
Poder: 10
roman Es un diamante en brutoroman Es un diamante en brutoroman Es un diamante en bruto
¡Pero no me has explicado nada! ¿Cuál es el peligro de esa consulta así de directa? Y, se lo diga o no, el usuario puede poner sus %.

// Saludos
Responder Con Cita
  #6  
Antiguo 13-04-2012
Avatar de AzidRain
[AzidRain] AzidRain is offline
Miembro Premium
 
Registrado: sep 2005
Ubicación: Córdoba, Veracruz, México
Posts: 2.914
Poder: 21
AzidRain Va camino a la fama
El "%" le funcionara solo si tu consulta es un LIKE como pusiste, si es una igualdad (al menos en MySQL que es lo que trabajo todos los días) simplemente no hará nada.
__________________
AKA "El animalito" ||Cordobés a mucha honra||
Responder Con Cita
  #7  
Antiguo 13-04-2012
Avatar de roman
roman roman is offline
Moderador
 
Registrado: may 2003
Ubicación: Ciudad de México
Posts: 20.269
Poder: 10
roman Es un diamante en brutoroman Es un diamante en brutoroman Es un diamante en bruto
Bueno, eso lo entiendo. Lo que no entiendo es qué tiene que ver con inyección de código SQL, que es el tema que pusiste sobe la mesa. Si hay algún peligro potencial, sería bueno saberlo.

// Saludos
Responder Con Cita
Respuesta


Herramientas Buscar en Tema
Buscar en Tema:

Búsqueda Avanzada
Desplegado

Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
Aprendiendo a usar Trigger... verito_83mdq MySQL 11 23-02-2011 01:05:13
Aprendiendo juegos de delphi ferra99 Varios 6 29-10-2008 13:47:19
Aprendiendo calistian Varios 4 14-06-2008 22:47:48
Aprendiendo a Aprender Firebird...!!! RK2 Firebird e Interbase 5 12-05-2008 21:11:48
Aprendiendo delphi for php JULIPO PHP 6 21-09-2007 22:19:47


La franja horaria es GMT +2. Ahora son las 17:54:56.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi