Waarden in selectionArgs
parameters hoeven niet te worden ontsnapt, en ze moeten niet ontsnappen omdat de escape-tekens in de database terecht zouden komen.
Veracode heeft drie verschillende gevallen van SQL-code gezien:
- waarden die niet kunnen zijn gebruikersinvoer (zoals letterlijke tekenreeksen in de broncode);
- waarden die zijn gebruikersinvoer (omdat ze rechtstreeks afkomstig zijn van bijvoorbeeld een bewerkingsvak);
- waarden die mogelijk zijn gebruikersinvoer, omdat de tool de bron niet kan bepalen.
Om marketingredenen hebben betaalde tools de neiging om de probleemnummers zoveel mogelijk op te blazen. Dus Veracode rapporteert alle gevallen van het derde geval als problemen.
In dit geval weet Veracode niet waar selection
vandaan komt, dus het klaagt. Als die waarde door uw programma is samengesteld en nooit gebruikersinvoer bevat (d.w.z. alle waarden voor gebruikersinvoer worden verplaatst naar ?
parameters), dan is dit een vals positief, en moet je Veracode vertellen om te zwijgen.