sql >> Database teknologi >  >> RDS >> SQLite

Ukorrekt neutralisering af specielle elementer brugt i en SQL-kommando

Værdier i selectionArgs parametre behøver ikke escapes, og de må ikke være escaped, fordi escape-tegnene ville ende i databasen.

Der er tre forskellige tilfælde af SQL-kode set af Veracode:

  • værdier, der ikke kan være brugerinput (såsom strenge bogstaver i kildekoden);
  • værdier, der er brugerinput (fordi det kommer direkte fra, f.eks. en redigeringsboks);
  • værdier, der kan være brugerinput, fordi værktøjet ikke kan bestemme kilden.

Af markedsføringsmæssige årsager har betalte værktøjer en tendens til at puste problemet op så meget som muligt. Så Veracode rapporterer alle tilfælde af den tredje sag som problemer.

I dette tilfælde ved Veracode ikke hvor selection er kommer fra, så det brokker sig. Hvis denne værdi er konstrueret af dit program og aldrig indeholder brugerinput (dvs. alle brugerinputværdier flyttes til ? parametre), så er dette en falsk positiv, og du skal bede Veracode om at holde kæft.




  1. Hvordan MONTHNAME() virker i MariaDB

  2. ORA-12704:tegnsæt uoverensstemmelse

  3. Hvordan indsætter man BLOB- og CLOB-filer i MySQL?

  4. Konfiguration af MySQL 8