Назад к вопросам
Senior
4
Как работали с PostgreSQL? Как защищались от SQL инъекций?
Компании, где спрашивали
А7
Ответ от нейросети
sobes.tech AI
Для работы с PostgreSQL в Go обычно используют пакет database/sql вместе с драйвером, например, lib/pq или pgx. Основной способ защиты от SQL-инъекций — использование подготовленных выражений (prepared statements) и параметризированных запросов. Вместо конкатенации строк с параметрами, параметры передаются отдельно, что позволяет драйверу корректно экранировать значения.
Пример:
query := `SELECT * FROM users WHERE email = $1`
row := db.QueryRow(query, userEmail)
Здесь $1 — плейсхолдер, а userEmail — параметр, который драйвер безопасно подставит в запрос.
Также важно избегать динамического формирования SQL с помощью строк, особенно с пользовательскими данными, и использовать ORM или query builder, которые автоматически обрабатывают параметры.