Hodnoty v selectionArgs
parametry nemusí být escapovány a nesmí být escaped, protože znaky escape by skončily v databázi.
Veracode vidí tři různé případy kódu SQL:
- hodnoty, které nemohou být uživatelský vstup (jako jsou řetězcové literály ve zdrojovém kódu);
- hodnoty, které jsou uživatelský vstup (protože pocházejí přímo z, např. nějakého editačního pole);
- hodnoty, které mohou být uživatelský vstup, protože nástroj nedokáže určit zdroj.
Z marketingových důvodů mají placené nástroje tendenci nafouknout problémová čísla co nejvíce. Veracode tedy hlásí všechny případy třetího případu jako problémy.
V tomto případě Veracode neví, kde je selection
pochází, tak si stěžuje. Pokud je tato hodnota vytvořena vaším programem a nikdy neobsahuje žádný uživatelský vstup (tj. všechny hodnoty uživatelského vstupu jsou přesunuty do ?
parametry), pak je to falešně pozitivní a musíte říct Veracode, aby zmlkl.