Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Conexión con bases de datos (https://www.clubdelphi.com/foros/forumdisplay.php?f=2)
-   -   escapar strings (https://www.clubdelphi.com/foros/showthread.php?t=68627)

study 25-06-2010 17:21:54

escapar strings
 
Hola de nuevo. ¿Alguien conoceria alguna funcion para escapar de una cadena todo caracter que pueda arruinar un sql?. Desde ya muchisimas gracias.

delphi.com.ar 25-06-2010 19:43:22

¿Te refieres a que mediante un parámetro puedan inyectar código SQL?... La mejor solución para eso es utilizar BindParameters, o sea pasar tus valores como parámetros. Si esta no es tu forma de trabajar, y lo que haces es armar un String con el código SQL incluyendo los parámetros que haya incertado un operador de tu sistema, sería prudente utilizar QuotedStr, donde no permitirás que cierren la comilla donde quieran para inyectar código.

Saludos!

study 25-06-2010 20:13:45

Gracias por responder. No me referia a sql injection, sino a que tengo que cargar (entre otros datos) descripciones que hacer los clientes, donde meten saltos de linea, comillas y varias porquerias mas que me arruinan los querys.

Voy a probar esa función que me pasaste a ver que tal.

AzidRain 26-06-2010 00:02:32

pues no veo el problema, si usas parámetros y un campo tipo Memo puedes guardar cualquier cosa sin preocuparte por lo que pongan.

study 28-06-2010 16:17:35

Lo de el campo de tipo memo no esta a mi alcance ya que yo trabajo sobre la capa de acceso a datos, la parte de la interfaz es responsabilidad de otro programador. Ademas en donde se me presento este problema fue al leer datos de un xml. La funcion que me paso delphi.com.ar hasta ahora parece funcionar bien. Lo que yo estaba haciendo mientras tanto era pasar todos los strings a base 64 antes de guardarlos y decodificandolos cuando se realiza una consulta (si es muy tosco pero funciona).
Lo de los parametro en sql tengo que reconocer que no se me habia ocurrido. Voy a probar. Salu2.


La franja horaria es GMT +2. Ahora son las 13:39:47.

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