Sobes.tech
Junior — Middle

Millised turvameetmedid võimaldavad vältida SQL-injekte web-rakenduses?

sobes.tech AI

Vastus AI-lt

Veebirakendustes SQL-injektsioonide vältimiseks rakendatakse järgmisi turvameetmeid:

  • Kasutades parameetritud päringuid (prepared statements), kus parameetrid edastatakse eraldi SQL-koodist.
  • ORM (Object-Relational Mapping) teekide kasutamine, mis automaatselt eraldavad andmed.
  • Kasutaja sisendi valideerimine ja filtreerimine serveripoolselt.
  • Pääsulubade piiramine andmebaasile, et minimeerida võimaliku rünnaku kahju.

Näide parameetritud päringust C#-s koos ADO.NET-iga:

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();
    // tulemuste töötlemine
}