Sobes.tech
Junior — Middle

Aké bezpečnostné opatrenia umožňujú zabrániť SQL injekciám v webovej aplikácii?

sobes.tech AI

Odpoveď od AI

Na prevenciu SQL injekcií v webových aplikáciách sa používajú nasledujúce bezpečnostné opatrenia:

  • Použitie parametrizovaných dopytov (prepared statements), kde sú parametre odovzdávané oddelene od SQL kódu.
  • Použitie ORM (Object-Relational Mapping) knižníc, ktoré automaticky escapujú dáta.
  • Validácia a filtrovanie používateľských vstupov na strane servera.
  • Obmedzenie práv prístupu k databáze, aby sa minimalizovala škoda pri možnom útoku.

Príklad parametrizovaného dopytu v C# s 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();
    // spracovanie výsledku
}