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

mysql PDO a dynamická SQL injekce uložená procedura

Ano, samozřejmě.

Co když in_var se rovná ' UNION SELECT password from admins -- ?

Abyste tomu zabránili, neměli byste používat nákladní kult připravený příkaz, ale skutečný, který nahradí vaši proměnnou zástupným symbolem.

SET @query = CONCAT("SELECT * FROM my_table  WHERE my_column = ? LIMIT 1;");

PREPARE stmt FROM @query;
EXECUTE stmt USING @in_var;



  1. mysql převádí více řádků na sloupce v jednom řádku

  2. Vypočítaný sloupec v EF Code First

  3. Postgres:Jak převést řetězec json na text?

  4. Přímý přístup k databázi serveru přes Ajax (bez PHP nebo jiného prostředníka)