Sobes.tech
Junior — Middle

Kokios saugumo priemonės leidžia išvengti SQL injekcijų interneto programoje?

sobes.tech AI

Atsakymas iš AI

Siekiant užkirsti kelią SQL injekcijoms interneto programose, taikomos šios saugumo priemonės:

  • Naudojant parametrizuotas užklausas (prepared statements), kur parametrai perduodami atskirai nuo SQL kodo.
  • Naudojant ORM (Object-Relational Mapping) bibliotekas, kurios automatiškai išvalo duomenis.
  • Vartotojo įvesties patvirtinimas ir filtravimas serverio pusėje.
  • Prieigos teisių prie duomenų bazės apribojimas, siekiant sumažinti žalą galimo atakos atveju.

Pavyzdys parametrizuotos užklausos C# kalba naudojant ADO.NET:

using (var connection = new SqlConnection(connectionString))
{
    connection.Open();
    var command = new SqlCommand("SELECT * FROM Users WHERE Username = @username", connection);
    command.Parameters.AddWithValue("@username", inputUsername);
    var reader = command.ExecuteReader();
    // rezultatų apdorojimas
}