Sobes.tech
Junior — Middle

Cum se poate proteja o API împotriva accesului neautorizat și a atacurilor?

sobes.tech AI

Răspuns de la AI

Pentru a proteja API-ul împotriva accesului neautorizat și a atacurilor, se aplică următoarele metode:

  • Autentificare și autorizare: Utilizarea tokenurilor (JWT, OAuth), chei API, Basic Auth pentru verificarea drepturilor utilizatorului.
  • Criptare: Transmiterea datelor prin HTTPS pentru protecție împotriva interceptării.
  • Limitarea numărului de solicitări (Rate Limiting): Prevenirea atacurilor DDoS și abuzurilor.
  • Validarea și filtrarea datelor de intrare: Protecție împotriva injecțiilor SQL, XSS și altor atacuri.
  • Logare și monitorizare: Urmărirea activităților suspecte.
  • Utilizarea CORS: Controlul accesului din diferite domenii.
  • Protecție împotriva CSRF: Utilizarea tokenurilor sau a altor mecanisme.

Exemplu de autentificare simplă folosind cheia API în 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
    }
    // Procesarea cererii
}