Sobes.tech
Junior — Middle

Hogyan lehet megelőzni az SQL-kód injekcióval kapcsolatos sebezhetőségeket JDBC-ben?

sobes.tech MI

Válasz az MI-től

Az SQL Injection sebezhetőség megelőzése érdekében JDBC-ben a következő módszereket alkalmazzák:

  • PreparedStatement — paraméterezett lekérdezések használata, ahol a paramétereket külön adjuk át, és nem közvetlenül az SQL szövegbe illesztjük be. Ez megakadályozza, hogy a paramétereket kódnak értelmezze.

  • Bemeneti adatok validálása és escape-elése — az adatok ellenőrzése és tisztítása a lekérdezések előtt.

  • ORM használata — például Hibernate, amely automatikusan biztonságos lekérdezéseket generál.

Példa PreparedStatement használatára:

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();

Ez a megközelítés kiküszöböli a rosszindulatú SQL-kód beszúrásának lehetőségét a paramétereken keresztül.