Ver Mensaje Individual
  #4  
Antiguo 23-11-2012
jsc jsc is offline
Miembro
 
Registrado: nov 2003
Posts: 144
Reputación: 21
jsc Va por buen camino
ante todo disculpad mi ignorancia en este tema;

en el post que puse mas arriba habia un enlace a un hilo que trataba de inyeccion sql.
he recuperado un post de ese hilo con este enlace http://es.wikipedia.org/wiki/Inyecci%C3%B3n_SQL que me parece muy interesante pero que lamentablemente poco entiendo
el problema que expuse en este hilo lo he solucionado de esta manera:
Código:
Código Delphi [-]

procedure openADOQuery (ADOQuery:TObject);
begin
   with frmadmin do
      WITH ADOQuery as TADOQuery do
      begin
         IF NOT prepared
            then
               begin
                  close ;prepared;
                  open
               end
            else open ;
      end;
end;

procedure muestratodosdatos () ;
var torigen,tdestino:string;
begin
   with frmadmin do
   begin
TRY
      torigen:= cbtold.text ;
      WITH ADOQuery1 do
      begin
         close ;sql.clear ;parameters.clear ;
         sql.add('SELECT * FROM '+torigen);
         openADOQuery (ADOQuery1);
         lold.Caption := inttostr(recordcount) ;
      end;
   EXCEPT on exception do MessageDlg ('Errores al cargar los datos',mtWarning,[mbOk],0) ;
   END;
...
esto me ha funcionado pero me preocupa el tema de la inyeccion sql; de esta manera quedaria el codigo expuesto a que software malicioso atacara la aplicacion y que por consiguiente esta fuera vulnerable?

vamos; otro ejemplo, con este codigo:
Código:
...
ADOQuery1.sql.add ('SELECT campo1,campo2 FROM tabla WHERE condicion =:parametro');
ADOQuery1.parameters.parambyname('parametro').value := unvalor ;
...
la aplicacion seria vulnerable a ataques?

repito, disculpad mi ignorancia
gracias y saludos,
Responder Con Cita