Sobes.tech
Junior — Middle

In che modo si può proteggere un'API da accessi non autorizzati e attacchi?

sobes.tech AI

Risposta dell'AI

Per proteggere l'API da accessi non autorizzati e attacchi, vengono applicati i seguenti metodi:

  • Autenticazione e autorizzazione: Uso di token (JWT, OAuth), chiavi API, Basic Auth per verificare i diritti dell'utente.
  • Crittografia: Trasmissione dei dati tramite HTTPS per protezione da intercettazioni.
  • Limitazione del numero di richieste (Rate Limiting): Prevenzione di attacchi DDoS e abusi.
  • Validazione e filtraggio dei dati in ingresso: Protezione da injection SQL, XSS e altri attacchi.
  • Registrazione e monitoraggio: Monitoraggio di attività sospette.
  • Utilizzo di CORS: Controllo dell'accesso da diversi domini.
  • Protezione da CSRF: Uso di token o altri meccanismi.

Esempio di autenticazione semplice con chiave API in Go:

func apiHandler(w http.ResponseWriter, r *http.Request) {
    apiKey := r.Header.Get("X-API-Key")
    if apiKey != "expected_api_key" {
        http.Error(w, "Unauthorized", http.StatusUnauthorized)
        return
    }
    // Gestione della richiesta
}