Sobes.tech
Junior — Middle

Ce tipuri de solicitări consideri cele mai sigure și de ce?

sobes.tech AI

Răspuns de la AI

Cele mai sigure sunt interogările parametrizate (prepared) și interogările ORM, care escapează automat datele de intrare.

Motivul este că previn injecțiile SQL — atunci când un atacator introduce cod SQL malițios prin inputul utilizatorului.

Exemplu:

  • Într-o interogare parametrizată, parametrii sunt transmiși separat de codul SQL, ceea ce exclude posibilitatea de a modifica structura interogării.

  • Spre deosebire de concatenarea stringurilor, unde inputul utilizatorului este inserat direct în interogare.

De exemplu, în Java cu JDBC:

String sql = "SELECT * FROM users WHERE username = ?";
PreparedStatement ps = connection.prepareStatement(sql);
ps.setString(1, userInput);
ResultSet rs = ps.executeQuery();

Această abordare este mai sigură decât:

String sql = "SELECT * FROM users WHERE username = '" + userInput + "'";
Statement stmt = connection.createStatement();
ResultSet rs = stmt.executeQuery(sql);

Prin urmare, pentru siguranță în testare și dezvoltare, se recomandă utilizarea interogărilor parametrizate.