sql >> Database >  >> RDS >> Sqlserver

SqlParameter staat geen tabelnaam toe - andere opties zonder SQL-injectieaanval?

Ga voor een witte lijst. Er kan alleen een vaste set van mogelijke . zijn hoe dan ook de juiste waarden voor de tabelnaam - tenminste, dat hoop ik.

Als u geen witte lijst met tabelnamen heeft, kunt u beginnen met een witte lijst met tekens - als je het beperkt tot A-Z, a-z en 0-9 (helemaal geen interpunctie), dan zou dat een groot deel van de zorg moeten wegnemen. (Dat betekent natuurlijk dat u geen tabellen met oneven namen ondersteunt... we kennen uw vereisten hier niet echt.)

Maar nee, u kunt geen parameters gebruiken voor tabel- of kolomnamen - alleen waarden. Dat is typisch het geval in databases; Ik kan me niet herinneren dat ik er een heb gezien die deed ondersteuningsparameters daarvoor. (Ik durf te zeggen dat er natuurlijk een aantal zijn...)



  1. Het compatibiliteitsniveau van een database in SQL Server controleren met T-SQL

  2. De beste manieren om corrupte InnoDB-tabel in MySQL te repareren

  3. Waarom geen uitvoer wanneer PLSQL Anonymous-blok is voltooid?

  4. pg gem '0.14.0' op Mountain Lion mislukt