sql >> Databáze >  >> RDS >> Mysql

Jaké znaky musí být escapovány, aby se zabránilo injekcím (My)SQL?

Odhad týkající se znaku backspace:Představte si, že vám pošlu e-mail „Ahoj, zde je dotaz na aktualizaci vaší DB, jak jste chtěli“ a připojený textový soubor s

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

Zkopírujete soubor, uvidíte, že je to v pořádku, a jednoduše jej přenesete do MySQL. Co jste však nevěděli, bylo to, že jsem dal

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

před INSERT STATEMENT, který jste neviděli, protože na výstupu konzoly jej backspaces přepsaly. Bamm!

Jen odhad.

Upravit (nemohl odolat):



  1. Nejlepší způsob, jak počítat záznamy podle libovolných časových intervalů v Rails+Postgres

  2. Jak převést hodnoty řádků na sloupce s počtem dynamických sloupců?

  3. Naučte se základy protokolování Java

  4. Seznam všech sloupců identity v databázi SQL Server:sys.identity_columns