Sobes.tech
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.