sql >> Databasteknik >  >> RDS >> Mysql

Vilka karaktärer måste escapes för att förhindra (My)SQL-injektioner?

En gissning angående backstegstecken:Föreställ dig att jag skickar dig ett e-postmeddelande "Hej, här är frågan om att uppdatera din DB som du ville" och en bifogad textfil med

INSERT INTO students VALUES ("Bobby Tables",12,"abc",3.6);

Du kat filen, ser det är okej, och bara skicka filen till MySQL. Vad du däremot inte visste var att jag satte

DROP TABLE students;\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b

före INSERT STATEMENT som du inte såg eftersom på konsolutgången skrev backsteg över det. Bamm!

Men bara en gissning.

Redigera (kunde inte låta bli):



  1. SQL Server Performance TOP CPU Query -1

  2. Datatyp matchar inte (kod 20) vid infogning

  3. Oracle-datum Between Query

  4. SQLException:executeQuery-metoden kan inte användas för uppdatering