Sobes.tech
Junior — Middle

Akými spôsobmi je možné zabezpečiť bezpečnosť API?

sobes.tech AI

Odpoveď od AI

Za zabezpečenie API v Go (a všeobecne) sa používajú niektoré hlavné prístupy:

  1. Autentifikácia a autorizácia — overenie, kto robí požiadavku a či má práva na vykonanie akcie. Napríklad použitie JWT (JSON Web Tokens), OAuth2.

  2. Šifrovanie prenosu — použitie HTTPS na ochranu dát počas prenosu.

  3. Validácia a sanitizácia vstupných dát — na prevenciu SQL injekcií, XSS a iných útokov.

  4. Obmedzenie počtu požiadaviek (rate limiting) — na ochranu pred DDoS útokmi.

  5. Logovanie a monitorovanie — na sledovanie podozrivej aktivity.

  6. Použitie bezpečných knižníc a aktualizácia závislostí — na vyhýbanie sa známym zraniteľnostiam.

Príklad jednoduchého overenia autorizácie v Go:

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)
    })
}

Tento príklad ukazuje základnú kontrolu tokenu v hlavičke požiadavky.