Nilai dalam selectionArgs
parameter tidak perlu diloloskan, dan mereka tidak boleh diloloskan karena karakter pelarian akan berakhir di database.
Ada tiga kasus berbeda dari kode SQL yang dilihat oleh Veracode:
- nilai yang tidak bisa masukan pengguna (seperti literal string dalam kode sumber);
- nilai yang adalah masukan pengguna (karena berasal langsung dari, misalnya, beberapa kotak edit);
- nilai yang mungkin masukan pengguna, karena alat tidak dapat menentukan sumbernya.
Untuk alasan pemasaran, alat berbayar cenderung meningkatkan jumlah masalah sebanyak mungkin. Jadi Veracode melaporkan semua contoh kasus ketiga sebagai masalah.
Dalam hal ini, Veracode tidak tahu di mana selection
berasal dari, sehingga mengeluh. Jika nilai tersebut dibuat oleh program Anda dan tidak pernah berisi input pengguna apa pun (yaitu, semua nilai input pengguna dipindahkan ke ?
parameter), maka ini adalah positif palsu, dan Anda harus memberi tahu Veracode untuk tutup mulut.