Přidat otázku mezi oblíbenéZasílat nové odpovědi e-mailem Delphi - ošetrenie SQL injection

Ak mám v PHP SQL príkaz, kde niektorá z položiek obsahuje úvodzovky, tak na jeho ošetrenie použijem addslashes(). Existuje na ošetrenie úvodzoviek niečo také aj v Delphi? Potrebujem ošetriť prípadný vstup s úvodzovkami. Ľahko sa môže stať, že používateľ potrebuje zadať rozmer monitora 17" alebo prípadne nejakú anglickú vetu I don't... Ako na to?

Předmět Autor Datum
QuotedStr()
Jan Fiala 21.03.2008 19:46
Jan Fiala
Toto môj problém nerieši. O čo mi teda ide? SQL[0] := 'insert into ' + fWorkers + ' (Meno, Skryt) v…
msx. 22.03.2008 09:13
msx.
SQL.Text := 'insert into ' + fWorkers + ' (Meno, Skryt) values (:Meno, :Skryt)'; ParamByName('Meno')…
Jan Fiala 22.03.2008 09:38
Jan Fiala
Áno, máš pravdu, mňa pomýlilo to, že už je to v apostrofoch a akosi som si neuvedomil, že dvojenie n… poslední
msx. 22.03.2008 15:09
msx.
SQL.Text := 'insert into ' + fWorkers + ' (Meno, Skryt) values (:Meno, :Skryt)';
ParamByName('Meno').AsString := edtName.Text;
ParamByName('Skryt').AsBoolean := nejaka_promenna;

Do parametru Meno se vlozi obsah editu edtName.Text zavreny v apostrofech s osetrenymi apostrofy uvnitr.
Pokud bys pouzil QuotedStr(), vypadalo by to nejak takto:

SQL[0] := 'insert into ' + fWorkers + ' (Meno, Skryt) values (' + 
    QuotedStr(edtName.Text) + ', ' + QuotedStr(s) + ')'; 

QuotedStr() slouzi k tomu, aby osetril apostrofy uvnitr - zdvojil je apod.

Zpět do poradny Odpovědět na původní otázku Nahoru