Sobes.tech
Junior — Middle

Hogyan lehet garantálni az API-k biztonságát?

sobes.tech MI

Válasz az MI-től

A Go-ban (és általában) az API-k biztonságának biztosítása érdekében több fő megközelítést alkalmaznak:

  1. Hitelesítés és jogosultságkezelés — ellenőrizni, ki küldi a kérést, és jogosult-e a művelet végrehajtására. Például JWT (JSON Web Tokens), OAuth2 használata.

  2. Forgalom titkosítása — HTTPS használata az adatok védelmére az átvitel során.

  3. Bemeneti adatok validálása és tisztítása — SQL injekciók, XSS és más támadások megelőzése érdekében.

  4. Kérések számának korlátozása (rate limiting) — DDoS támadások elleni védelemhez.

  5. Naplózás és monitorozás — gyanús tevékenységek nyomon követése érdekében.

  6. Biztonságos könyvtárak használata és függőségek frissítése — ismert sebezhetőségek elkerülése érdekében.

Egyszerű hitelesítési ellenőrzés példája Go-ban:

func authMiddleware(next http.Handler) http.Handler {
    return http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) {
        token := r.Header.Get("Authorization")
        if token != "Bearer valid-token" {
            http.Error(w, "Unauthorized", http.StatusUnauthorized)
            return
        }
        next.ServeHTTP(w, r)
    })
}

Ez a példa egy alapvető token ellenőrzést mutat a kérés fejlécében.