Junior — Middle
Kako sprečiti ranjivosti povezane sa ubacivanjem SQL koda putem parametara u JDBC?
sobes.tech АИ
Одговор од АИ
Da biste sprečili ranjivosti povezane sa SQL injekcijom putem parametara u JDBC-u, koristite sledeće metode:
-
PreparedStatement — korišćenje parametrizovanih upita, gde se parametri prosleđuju odvojeno i ne ubacuju direktno u SQL niz. Ovo sprečava tumačenje parametara kao koda.
-
Validacija i escapovanje ulaznih podataka — provera i čišćenje podataka pre korišćenja u upitima.
-
Korišćenje ORM-a — na primer, Hibernate, koji automatski generiše sigurne upite.
Primer korišćenja 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();
Ovaj pristup isključuje mogućnost unošenja zlonamernog SQL koda putem parametara.