SQLite
 sql >> Base de Dados >  >> RDS >> SQLite

Neutralização imprópria de elementos especiais usados ​​em um comando SQL


Valores em selectionArgs os parâmetros não precisam ser escapados e não devem ser escapado porque os caracteres de escape acabariam no banco de dados.

Existem três casos diferentes de código SQL vistos pelo Veracode:
  • valores que não podem ser entrada do usuário (como literais de string no código-fonte);
  • valores que são entrada do usuário (porque vem diretamente de, por exemplo, alguma caixa de edição);
  • valores que podem ser entrada do usuário, porque a ferramenta não pode determinar a origem.

Por razões de marketing, as ferramentas pagas tendem a inflar os números dos problemas o máximo possível. Portanto, o Veracode relata todas as instâncias do terceiro caso como problemas.

Neste caso, o Veracode não sabe onde selection vem, por isso reclama. Se esse valor é construído pelo seu programa e nunca contém nenhuma entrada do usuário (ou seja, todos os valores de entrada do usuário são movidos para ? parâmetros), então este é um falso positivo e você deve dizer ao Veracode para calar a boca.