Junior — Middle
Ce metode sunt utilizate pentru a preveni vulnerabilități precum injecțiile SQL atunci când se lucrează cu baze de date?
sobes.tech AI
Răspuns de la AI
Для предотвращения SQL-инъекций в Go при работе с базой данных используют следующие методы:
-
Параметризованные запросы (prepared statements) — вместо конкатенации строк с SQL-запросом и данными используют параметры, которые передаются отдельно. Это предотвращает внедрение вредоносного кода.
-
Использование ORM или библиотек, которые автоматически экранируют данные — например, GORM.
-
Валидация и очистка входных данных — хотя это не заменяет параметризацию, помогает снизить риски.
Пример параметризованного запроса с использованием стандартной библиотеки database/sql:
var username string
err := db.QueryRow("SELECT name FROM users WHERE id = ?", userID).Scan(&username)
if err != nil {
// обработка ошибки
}
Здесь ? — это параметр, который безопасно подставляется в запрос, исключая возможность инъекции.