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

Empêcher l'injection SQL dans le SQL dynamique

Ahahah, c'est juste fantastique !
Enfin j'ai réussi à comprendre quoi ce type signifie-t-il sous son "SQL dynamique". Pas étonnant car il est parfaitement déguisé et ressemble à du SQL ordinaire au premier et au deuxième coup d'œil !

Voici la réponse :

Ne le fais pas. Jamais.

Votre idée de SQL "dynamique" est essentiellement fausse. Personne ne le fait de cette façon.

Je ne connais pas votre tâche particulière mais votre solution est apparemment incorrecte. Et il y a sûrement une façon sensée de le faire. Suivez simplement ces règles simples :

  • se débarrasser de meta_table
  • se débarrasser des requêtes SQL stockées dans la base de données
  • écrivez (ou créez) toutes vos requêtes dans votre application à partir de deux sources uniquement :
    • SQL codé en dur, pré-écrit dans votre code
    • déclarations préparées pour toutes les parties variables

et assurez-vous que tout votre SQL est parfaitement sécurisé