Sobes.tech
Junior — Middle

Comment peut-on prévenir les vulnérabilités liées à l'injection de code SQL via des paramètres dans JDBC?

sobes.tech IA

Réponse de l'IA

Pour prévenir les vulnérabilités liées à l'injection SQL via les paramètres dans JDBC, on utilise les méthodes suivantes :

  • PreparedStatement — utilisation de requêtes paramétrées, où les paramètres sont passés séparément et non insérés directement dans la chaîne SQL. Cela empêche l'interprétation des paramètres comme du code.

  • Validation et échappement des données d'entrée — vérification et nettoyage des données avant leur utilisation dans les requêtes.

  • Utilisation d'ORM — par exemple, Hibernate, qui génèrent automatiquement des requêtes sécurisées.

Exemple d'utilisation de PreparedStatement :

String sql = "SELECT * FROM users WHERE username = ? AND password = ?";
PreparedStatement pstmt = connection.prepareStatement(sql);
pstmt.setString(1, username);
pstmt.setString(2, password);
ResultSet rs = pstmt.executeQuery();

Cette approche évite la possibilité d'injecter du code SQL malveillant via les paramètres.