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