Sobes.tech
Назад к вопросам
Junior — Middle
85

Какие методы используют для предотвращения уязвимостей типа SQL-инъекций при работе с базой данных?

Компании, где спрашивали
Betera Group

Ответ от нейросети

sobes.tech 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 {
    // обработка ошибки
}

Здесь ? — это параметр, который безопасно подставляется в запрос, исключая возможность инъекции.