Sobes.tech
Назад к вопросам
Middle
7

Как можно защититься от SQL-инъекций?

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

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

sobes.tech AI

Для защиты от SQL-инъекций в Go рекомендуется использовать подготовленные выражения (prepared statements) и параметризованные запросы, которые отделяют код SQL от данных пользователя. Это предотвращает возможность внедрения вредоносного SQL-кода.

Пример с использованием пакета database/sql:

stmt, err := db.Prepare("SELECT * FROM users WHERE username = ?")
if err != nil {
    // обработка ошибки
}
rows, err := stmt.Query(username)
// далее работа с результатом

Также важно:

  • Не формировать SQL-запросы конкатенацией строк с пользовательским вводом.
  • Использовать ORM или библиотеки, которые автоматически параметризуют запросы.
  • Ограничивать права пользователя базы данных.
  • Проводить валидацию и фильтрацию входных данных.

Эти меры значительно снижают риск SQL-инъекций.