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:
-
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.
-
Šifrovanie prenosu — použitie HTTPS na ochranu dát počas prenosu.
-
Validácia a sanitizácia vstupných dát — na prevenciu SQL injekcií, XSS a iných útokov.
-
Obmedzenie počtu požiadaviek (rate limiting) — na ochranu pred DDoS útokmi.
-
Logovanie a monitorovanie — na sledovanie podozrivej aktivity.
-
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.