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();
    // შედეგის დამუშავება
}