Valori in selectionArgs
non è necessario eseguire l'escape dei parametri e non devono essere sottoposto a escape perché i caratteri di escape finirebbero nel database.
Esistono tre diversi casi di codice SQL visti da Veracode:
- valori che non possono essere input dell'utente (come stringhe letterali nel codice sorgente);
- valori che sono input dell'utente (perché provengono direttamente, ad esempio, da alcune caselle di modifica);
- valori che potrebbero essere input dell'utente, perché lo strumento non è in grado di determinare la fonte.
Per ragioni di marketing, gli strumenti a pagamento tendono a gonfiare il più possibile i numeri dei problemi. Quindi Veracode segnala come problemi tutte le istanze del terzo caso.
In questo caso, Veracode non sa dove selection
viene da, quindi si lamenta. Se quel valore è costruito dal tuo programma e non contiene mai alcun input dell'utente (cioè, tutti i valori di input dell'utente vengono spostati in ?
parametri), allora questo è un falso positivo e devi dire a Veracode di stare zitto.