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:
- 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();
-
Validazione e filtraggio dei dati di input — verificare il formato e il contenuto dei dati prima di usarli nelle query.
-
Utilizzo di framework ORM (ad esempio Hibernate) — generano automaticamente query sicure.
-
Minimizzazione dei privilegi di accesso — gli account del database devono avere i privilegi minimi necessari.
-
Aggiornamenti e patch regolari — mantenere aggiornato il software del database e i driver.
Questi metodi, combinati, riducono significativamente il rischio di iniezione SQL riuscita.