Sobes.tech
Junior — Middle

Ի՞նչ անվտանգության միջոցներ են թույլ տալիս կանխել SQL-մուտքերը վեբ հավելվածում։

sobes.tech AI

Պատասխան AI-ից

Վեբ հավելվածներում SQL ինջեկցիաների կանխարգելման համար կիրառվում են հետևյալ անվտանգության միջոցառումները՝

  • Պարամետրավորված հարցումների (prepared statements) օգտագործում, որտեղ պարամետրերը փոխանցվում են առանձին SQL կոդից:
  • Օբյեկտ-համապատասխանության (ORM) գրադարանների կիրառումը, որոնք ավտոմատ կերպով էսկեյպում են տվյալները:
  • Օգտագործողի մուտքային տվյալների վավերացում և ֆիլտրում սերվերի կողմից:
  • Հասանելիության իրավունքների սահմանափակում, որպեսզի նվազեցվի հնարավոր հարձակումների վնասը:

C#-ում 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();
    // արդյունքի մշակումը
}