Mysql
 sql >> Base de données >  >> RDS >> Mysql

Quels caractères doivent être échappés pour empêcher les injections (My)SQL ?

Une supposition concernant le caractère de retour arrière :Imaginez que je vous envoie un e-mail "Bonjour, voici la requête pour mettre à jour votre base de données comme vous le souhaitez" et un fichier texte joint avec

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

Vous cat le fichier, voyez que tout va bien, et dirigez simplement le fichier vers MySQL. Ce que vous ne saviez pas, cependant, c'est que j'ai mis

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

avant l'INSERT STATEMENT que vous n'avez pas vu car sur la sortie de la console, les retours arrière l'ont écrasé. Bam !

Juste une supposition, cependant.

Edit (je n'ai pas pu résister) :