PDA

Pogčedajte punu verziju : Validacija podataka u SQL


markod
14. 06. 2010., 14:47
Zna li neko na koji način da obezbjedim validaciju ulaznih parametara stored procedure u samom SQL kodu te procedure?

jablan
14. 06. 2010., 15:38
Šta je konkretno problem? Uporediš ulazni parametar sa nečim što očekuješ i baciš grešku ako se ne uklapa:

http://msdn.microsoft.com/en-us/library/ms178592.aspx

Mada je obično logičnije da validaciju izvršiš pre nego što uopšte pozoveš SP.

markod
15. 06. 2010., 08:39
Ovako, aplikacija treba da pozove proceduru (sa 15 ulaznih parametara) koja proslijeđene podatke upisuje u bazu. Ja imam pristup samo kodu procedure, pa sam kontao da u njoj, prije samog upisa u bazu, obezbjedim validaciju.
Pošto se upisuju i stringovi, na koji način da ih očistim od nepoželjnih karaktera(sve sa ciljem spriječavanja sql injectiona)? Pretpostavljam da validacija nije urađena na samoj aplikaciji.

jablan
15. 06. 2010., 08:57
Nema potrebe da radiš čišćenje od nepoželjnih karaktera ako u proceduri koristiš parametrizovane upite, tj. ako ne kreiraš upite kao stringove pa da ih takve izvršavaš (to baš jako retko ne može da se izbegne).

Imaš ovde tekst na tu temu:

http://palisade.plynt.com/issues/2006Jun/injection-stored-procedures/