Vous avez des améliorations (ou des corrections) à proposer pour ce document :
je vous remerçie par avance de m'en faire part, cela m'aide à améliorer le site.
Accès à une base de données relationnelle : Comment se prémunir des attaques par injection SQL
Il est préférable de demander à la librairie Python d'accès à la base de données de réaliser, elle-même, l'injection des paramètres dans l'ordre SQL. Deux syntaxes sont possibles.
cursor.execute("""select * from T_Users where login=%(login)s and password=%(password)s""", params)
Ou bien avec une simple liste de valeurs :
cursor.execute("""select * from T_Users where login=%s and password=%s""", (login, password))
Notez que, bien que la syntaxe utilisée soit proche de celle avec l'utilisation de l'opérateur de formatage, « le résultat produit sera complétement différent et sécurisé » !
L'injection des paramètres sera effectuée par la méthode execute, car les valeurs à injecter correspondent au second paramètre de cette méthode.
Améliorations / Corrections
Vous avez des améliorations (ou des corrections) à proposer pour ce document : je vous remerçie par avance de m'en faire part, cela m'aide à améliorer le site.
Emplacement :
Description des améliorations :