Junior — Middle
Welche Arten von Anfragen halten Sie für am sichersten und warum?
sobes.tech KI
Antwort von AI
Am sichersten sind parametrisierte (prepared) Abfragen und ORM-Abfragen, die Eingabedaten automatisch escapen.
Der Grund dafür ist, dass sie SQL-Injektionen verhindern — wenn ein Angreifer schädlichen SQL-Code durch die Benutzereingabe einschleust.
Beispiel:
-
Bei einer parametrierten Abfrage werden die Parameter getrennt vom SQL-Code übergeben, was die Änderung der Abfrage-Struktur ausschließt.
-
Im Gegensatz zur String-Konkatenation, bei der die Benutzereingabe direkt in die Abfrage eingefügt wird.
Zum Beispiel in Java mit JDBC:
String sql = "SELECT * FROM users WHERE username = ?";
PreparedStatement ps = connection.prepareStatement(sql);
ps.setString(1, userInput);
ResultSet rs = ps.executeQuery();
Dieses Vorgehen ist sicherer als:
String sql = "SELECT * FROM users WHERE username = '" + userInput + "'";
Statement stmt = connection.createStatement();
ResultSet rs = stmt.executeQuery(sql);
Daher wird empfohlen, für Sicherheit bei Tests und Entwicklung parametrisierte Abfragen zu verwenden.