sql >> Database teknologi >  >> RDS >> Mysql

mysql PDO og lagret procedure dynamisk SQL-injektion

Ja selvfølgelig.

Hvad hvis in_var er lig med ' UNION SELECT password from admins -- ?

For at undgå det bør du ikke bruge en lastkult udarbejdet udsagn, men en reel, og erstatte din variabel med en pladsholder.

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

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



  1. ODP.NET Managed - Kan ikke finde den anmodede .Net Framework Data Provider

  2. MySQL:Kan ikke give borde et navn i Upper Camel Case (Pascal Case)

  3. Django ManyToMany igennem med flere databaser

  4. Postgresql GROUP_CONCAT tilsvarende?