Junior — Middle
Hoe kunnen kwetsbaarheden die verband houden met SQL-code-injectie via parameters in JDBC worden voorkomen?
sobes.tech AI
Antwoord van AI
Om kwetsbaarheden gerelateerd aan SQL-injectie via parameters in JDBC te voorkomen, worden de volgende methoden gebruikt:
-
PreparedStatement — gebruik van parametrische queries, waarbij de parameters apart worden doorgegeven en niet direct in de SQL-string worden ingevoegd. Dit voorkomt dat de parameters als code worden geïnterpreteerd.
-
Validatie en escaping van invoergegevens — controle en reiniging van gegevens voordat ze in queries worden gebruikt.
-
Gebruik van ORM — bijvoorbeeld Hibernate, die automatisch veilige queries genereert.
Voorbeeld van het gebruik van 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();
Deze aanpak voorkomt de mogelijkheid om kwaadaardige SQL-code via parameters in te voeren.