Junior — Middle
¿Qué métodos se utilizan para prevenir vulnerabilidades como las inyecciones SQL al trabajar con bases de datos?
sobes.tech AI
Respuesta de la IA
Para prevenir inyecciones SQL en Go al trabajar con bases de datos, se utilizan los siguientes métodos:
-
Consultas parametrizadas (declaraciones preparadas) — en lugar de concatenar cadenas con la consulta SQL y los datos, se usan parámetros que se pasan por separado. Esto previene la inserción de código malicioso.
-
Uso de ORM o bibliotecas que escapan automáticamente los datos — por ejemplo, GORM.
-
Validación y limpieza de datos de entrada — aunque no reemplaza la parametrización, ayuda a reducir los riesgos.
Ejemplo de consulta parametrizada usando la biblioteca estándar database/sql:
var username string
err := db.QueryRow("SELECT name FROM users WHERE id = ?", userID).Scan(&username)
if err != nil {
// manejo del error
}
Aquí, ? es un parámetro que se inserta de forma segura en la consulta, evitando la posibilidad de inyección.