Sobes.tech
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.