Sobes.tech
Junior — Middle

Jaká bezpečnostní opatření umožňují zabránit SQL injection v webové aplikaci?

sobes.tech AI

Odpověď od AI

Pro prevenci SQL injection v webových aplikacích se používají následující bezpečnostní opatření:

  • Použití parametrizovaných dotazů (prepared statements), kde jsou parametry předávány odděleně od SQL kódu.
  • Použití knihoven ORM (Object-Relational Mapping), které automaticky escapují data.
  • Validace a filtrování uživatelských vstupů na straně serveru.
  • Omezení práv přístupu k databázi, aby se minimalizovala škoda při možném útoku.

Příklad parametrizovaného dotazu 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();
    // zpracování výsledku
}