Toto myslite uplne vazne ? Zoberme si to jedno po druhom :
1) Vola sa dany produkt SQL Server ? Co to naznacuje ? Ze spusta SQL prikazy.
2) Aky je rozdiel medzi spravnym a nespravnym (rozumej SQL injection) SQL prikazom ? Hm, ziadny.
SQL Injection NIKDY nie je chybou databazy, robi svoju robotu. Ano, databaza moze toto ulahcit podporou parametrizovanych query, nikdy ale databaza nenesie vinu na tom ak niekto urobi chybu v kode aplikacie (a SQL injection je chyba v kode aplikacie).
Pane, neviem kto vas pustil do redakcie, ale vazne by ste sa mali zamysliet nad vasim dalsim prispievanim k temam, ktorym nerozumiete. Ako moze databaza v pripade spojovania query rozpoznat, ze ide napriklad v tomto pripade o SQL injection :
1) Povodne query : select * from users where username = '{parameter1}' and password = '{parameter2}'
2) Parametre pri SQL injection : {parameter1} = cokolvek, {parameter2} = ' or 1=1 or '' = '
Vysledne query : select * from users where username = 'cokolvek' and password = '' or 1=1 or '' = ''
Fakt mi vysvetlite, ako moze takuto vec databaza odchytit (napoveda - nemoze). Jedina moznost pre vyriesenie tohoto problemu je parametrizovane query, a to podla mojich znalosti vacsina databaz ponuka dlhsiu dobu (a kde to nie je, tak to v drvivej vacsine implementuje framework na pristup k DB - u Javy JDBC, u PHP napr. PDO alebo rozne ine DB frameworky atd).