Sobes.tech
Junior — Middle

De quelles manières peut-on garantir la sécurité des API?

sobes.tech IA

Réponse de l'IA

Pour assurer la sécurité des API en Go (et en général), plusieurs approches principales sont utilisées :

  1. Authentification et autorisation — vérifier qui fait la requête et s'il a le droit d'effectuer l'action. Par exemple, utiliser JWT (JSON Web Tokens), OAuth2.

  2. Chiffrement du trafic — utiliser HTTPS pour protéger les données lors de la transmission.

  3. Validation et assainissement des données d'entrée — pour prévenir les injections SQL, XSS et autres attaques.

  4. Limitation du nombre de requêtes (rate limiting) — pour se protéger contre les attaques DDoS.

  5. Journalisation et surveillance — pour suivre l'activité suspecte.

  6. Utilisation de bibliothèques sécurisées et mise à jour des dépendances — pour éviter les vulnérabilités connues.

Exemple d'une vérification d'autorisation simple en 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)
    })
}

Cet exemple montre une vérification de base du token dans l'en-tête de la requête.