Club Delphi  
    Paypal   FTP   CCD     Buscar   Trucos   Trabajo   Foros

Go Back   Foros Club Delphi > Otros temas > La Taberna
Register FAQ Members List Calendar Guía de estilo Today's Posts

Reply
 
Thread Tools Search this Thread Display Modes
  #1  
Old 12/04/2012
AzidRain's Avatar
[AzidRain] AzidRain is offline
Miembro Premium
 
Join Date: Sep 2005
Location: Córdoba, Veracruz, México
Posts: 2,914
Poder: 23
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||
Reply With Quote
  #2  
Old 13/04/2012
Casimiro Noteví's Avatar
Casimiro Noteví Casimiro Noteví is offline
Merodeador
 
Join Date: Sep 2004
Location: En algún lugar.
Posts: 32,681
Poder: 10
Casimiro Noteví Tiene un aura espectacularCasimiro Noteví Tiene un aura espectacular
Conozco más de un programa que hace eso, pero claro, lo han pedido los clientes
Reply With Quote
  #3  
Old 13/04/2012
roman's Avatar
roman roman is offline
Moderador
 
Join Date: May 2003
Location: 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
Quote:
Originally Posted by AzidRain View Post
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
Reply With Quote
  #4  
Old 13/04/2012
AzidRain's Avatar
[AzidRain] AzidRain is offline
Miembro Premium
 
Join Date: Sep 2005
Location: Córdoba, Veracruz, México
Posts: 2,914
Poder: 23
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||
Reply With Quote
  #5  
Old 13/04/2012
roman's Avatar
roman roman is offline
Moderador
 
Join Date: May 2003
Location: 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
Reply With Quote
  #6  
Old 13/04/2012
AzidRain's Avatar
[AzidRain] AzidRain is offline
Miembro Premium
 
Join Date: Sep 2005
Location: Córdoba, Veracruz, México
Posts: 2,914
Poder: 23
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||
Reply With Quote
  #7  
Old 13/04/2012
roman's Avatar
roman roman is offline
Moderador
 
Join Date: May 2003
Location: 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
Reply With Quote
Reply



Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

vB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Forum Jump

Similar Threads
Thread Thread Starter Forum Replies Last Post
Aprendiendo a usar Trigger... verito_83mdq MySQL 11 23/02/2011 00:05
Aprendiendo juegos de delphi ferra99 Varios 6 29/10/2008 12:47
Aprendiendo calistian Varios 4 14/06/2008 21:47
Aprendiendo a Aprender Firebird...!!! RK2 Firebird e Interbase 5 12/05/2008 20:11
Aprendiendo delphi for php JULIPO PHP 6 21/09/2007 21:19


All times are GMT +2. The time now is 02:17.


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