Daryk nuo pradziu viska gerai, o tada bandyk injectiona grusti Jornada Del Muerto wrote: >>> EXEC ('SELECT ContactID, >>> FirstName, >>> LastName >>> FROM '+ @LentelePavadinimas + ' >>> WHERE LastName = ' + @LastName + ' >>> ORDER BY Contact >>> ) > > Si procedura daro SQL injection - jei paleidineji proceduroje SQL teksta, tada issaugojant procedura SQL serveriui visiskai vienodai kas tas tekstas ir taip gali bandyt paleist absoliuciai bet koki teksta kaip SQL ir privelti kokiu tik nori klaidu kode, kitaip sakant kam tada is viso proceduros, duok tiesiog uzklausa. > > Lenteles taip paprastai kaip kokio kintamojo MSSQL ideti neina i paprasta T-SQL select'a, bet yra user defined functions: http://msdn.microsoft.com/en-us/library/ms186755.aspx is ju gal sudomins table valued functions, tai funkcijos galincios grazinti lentele: > > CREATE FUNCTION ManoFunkcija > ( @id int ) > RETURNS TABLE > AS > RETURN > ( > SELECT @id > ) > GO > > > Gal ka naudingo rasi arba bent jau is proceduru injekcija iskelsi i funkcijas.