Sobes.tech
Junior — Middle

Hoe kan de veiligheid van API's worden gegarandeerd?

sobes.tech AI

Antwoord van AI

Om de veiligheid van API's in Go (en in het algemeen) te waarborgen, worden verschillende hoofdbenaderingen toegepast:

  1. Authenticatie en autorisatie — controleren wie de aanvraag doet en of hij de juiste rechten heeft. Bijvoorbeeld het gebruik van JWT (JSON Web Tokens), OAuth2.

  2. Versleuteling van het verkeer — gebruik HTTPS om gegevens tijdens verzending te beschermen.

  3. Validatie en sanering van invoergegevens — om SQL-injecties, XSS en andere aanvallen te voorkomen.

  4. Rate limiting — om je te beschermen tegen DDoS-aanvallen.

  5. Logging en monitoring — om verdachte activiteiten te traceren.

  6. Gebruik van veilige bibliotheken en het bijwerken van afhankelijkheden — om bekende kwetsbaarheden te vermijden.

Voorbeeld van een eenvoudige autorisatiecontrole in 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)
    })
}

Dit voorbeeld toont een basiscontrole van de token in de koptekst van het verzoek.