Стойности в selectionArgs
параметрите не трябва да се екранират и те не трябва да бъде екраниран, защото escape знаците ще се озоват в базата данни.
Има три различни случая на SQL код, видян от Veracode:
- стойности, които не могат да бъдат въвеждане от потребителя (като низови литерали в изходния код);
- стойности, които са въвеждане от потребителя (защото идва директно от, например, някакво поле за редактиране);
- стойности, които може да бъдат въвеждане от потребителя, тъй като инструментът не може да определи източника.
По маркетингови причини, платените инструменти са склонни да надуват числата на проблемите, доколкото е възможно. Така Veracode отчита всички случаи на третия случай като проблеми.
В този случай Veracode не знае къде е selection
идва от, така че се оплаква. Ако тази стойност е конструирана от вашата програма и никога не съдържа потребителски вход (т.е. всички стойности, въведени от потребителя, се преместват в ?
параметри), то това е фалшиво положително и трябва да кажете на Veracode да млъкне.