Junior — Middle
Welke methoden worden gebruikt om kwetsbaarheden zoals SQL-injecties te voorkomen bij het werken met databases?
sobes.tech AI
Antwoord van AI
Om SQL-injecties in Go te voorkomen bij het werken met databases, worden de volgende methoden gebruikt:
-
Geparametreerde queries (voorbereide statements) — in plaats van het concatenëren van strings met de SQL-query en gegevens, worden parameters apart doorgegeven. Dit voorkomt het injecteren van kwaadaardige code.
-
Gebruik van ORM of bibliotheken die automatisch data escapen — bijvoorbeeld GORM.
-
Validatie en reiniging van invoergegevens — hoewel dit geen vervanging is voor parametrisatie, helpt het de risico's te verminderen.
Voorbeeld van een geparametreerde query met de standaardbibliotheek database/sql:
var username string
err := db.QueryRow("SELECT name FROM users WHERE id = ?", userID).Scan(&username)
if err != nil {
// foutafhandeling
}
Hier is ? een parameter die veilig wordt ingebracht in de query, waardoor injectie wordt voorkomen.