Retour à la leçon
Mission

Mission : colmater une faille d'injection dans la banque

Identifier pourquoi une requête concaténée est dangereuse, la corriger en requête paramétrée, puis sécuriser un transfert d'argent avec une transaction.

Contexte

La ressource technologik_bank contient encore une ancienne fonction qui construit sa requête ainsi : MySQL.Async.fetchAll("SELECT * FROM users WHERE identifier = '" .. identifier .. "'", {}, function(result) ... end). Un audit de sécurité vient de signaler cette ligne. Par ailleurs, la fonction TransferMoney de la leçon utilise déjà MySQL.transaction.await, mais un développeur junior propose de la simplifier en deux appels séparés MySQL.update.await pour "gagner en lisibilité".