Sobes.tech
Junior — Middle

Come si può proteggere un database dagli attacchi di SQL injection?

sobes.tech AI

Risposta dell'AI

La protezione del database dalle injection SQL è un aspetto importante della sicurezza. I principali metodi di protezione in Java:

  1. Utilizzo di dichiarazioni preparate (PreparedStatement) — i parametri della query vengono passati separatamente, eliminando la possibilità di iniettare codice SQL dannoso.
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();
  1. Validazione e filtraggio dei dati di input — verificare il formato e il contenuto dei dati prima di usarli nelle query.

  2. Utilizzo di framework ORM (ad esempio Hibernate) — generano automaticamente query sicure.

  3. Minimizzazione dei privilegi di accesso — gli account del database devono avere i privilegi minimi necessari.

  4. Aggiornamenti e patch regolari — mantenere aggiornato il software del database e i driver.

Questi metodi, combinati, riducono significativamente il rischio di iniezione SQL riuscita.