sql >> Database >  >> RDS >> Mysql

Zijn dynamische mysql-query's met sql-escaping net zo veilig als voorbereide instructies?

Ja, maar een gekwalificeerd ja.

U moet 100% van de invoer correct escapen. En u moet de tekensets correct instellen (als u de C API gebruikt, moet u de mysql_set_character_set() aanroepen in plaats van SET NAMES ). Als je een klein ding mist, ben je kwetsbaar. Dus het is ja, zolang je alles goed doet...

En dat is de reden waarom veel mensen voorbereide zoekopdrachten zullen aanbevelen. Niet omdat ze veiliger zijn. Maar omdat ze meer vergevingsgezind zijn...



  1. Hoe kom ik erachter of een upsert een update was met PostgreSQL 9.5+ UPSERT?

  2. Cursor verouderde dump

  3. Gids voor het ontwerpen van een database voor Taakbeheer in MySQL

  4. Refactor een PL/pgSQL-functie om de uitvoer van verschillende SELECT-query's te retourneren