Sobes.tech
Senior
31

PostgreSQL-пен қалай жұмыс істедіңіз? SQL инъекцияларынан қалай қорғанасыз?

Сұралған компаниялар
А7

AI-дан жауап

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, которые автоматически обрабатывают параметры.