Sobes.tech
Junior — Middle

Milyen módszereket alkalmaznak az SQL-injekciók típusú sebezhetőségek megelőzésére adatbázisokkal való munka során?

sobes.tech MI

Válasz az MI-től

A Go-ban az adatbázisokkal való munka során az SQL-injekciók megelőzése érdekében a következő módszereket alkalmazzák:

  • Paraméterezett lekérdezések (előkészített állítások) — ahelyett, hogy sztringeket fűznénk össze SQL-lekérdezéssel és adatokkal, külön paramétereket adunk át. Ez megakadályozza a rosszindulatú kód beszúrását.

  • Olyan ORM vagy könyvtárak használata, amelyek automatikusan escape-elik az adatokat — például GORM.

  • Bemeneti adatok validálása és tisztítása — bár ez nem helyettesíti a paraméterezést, segít csökkenteni a kockázatokat.

Példa paraméterezett lekérdezésre a standard library database/sql használatával:

var username string
err := db.QueryRow("SELECT name FROM users WHERE id = ?", userID).Scan(&username)
if err != nil {
    // hiba kezelése
}

Itt a ? egy biztonságosan beszúrt paraméter, amely megakadályozza az injekciót.