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