Junior — Middle
Cum se pot preveni vulnerabilitățile legate de injectarea de cod SQL prin parametri în JDBC?
sobes.tech AI
Răspuns de la AI
Pentru a preveni vulnerabilitățile legate de injecția SQL (SQL Injection) prin parametri în JDBC, se utilizează următoarele metode:
-
PreparedStatement — utilizarea interogărilor parametrizate, unde parametrii sunt transmiși separat și nu sunt inserați direct în șirul SQL. Acest lucru previne interpretarea parametrilor ca și cod.
-
Validarea și escaparea datelor de intrare — verificarea și curățarea datelor înainte de utilizare în interogări.
-
Utilizarea ORM — de exemplu, Hibernate, care generează automat interogări sigure.
Exemplu de utilizare a 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();
Această abordare elimină posibilitatea injectării de cod SQL malițios prin parametri.