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
}