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