Junior — Middle
Kaip apsaugoti API nuo neleistino prieigos ir atakų?
sobes.tech AI
Atsakymas iš AI
Siekiant apsaugoti API nuo neleistino prieigos ir atakų, taikomi šie metodai:
- Autentifikacija ir autorizacija: Naudojant tokenus (JWT, OAuth), API raktus, Basic Auth, siekiant patikrinti naudotojo teises.
- Šifravimas: Duomenų perdavimas per HTTPS, siekiant apsaugoti nuo perėmimo.
- Klausimų skaičiaus ribojimas (Rate Limiting): DDoS atakų ir piktnaudžiavimo prevencija.
- Įeinančių duomenų validavimas ir filtravimas: Apsauga nuo SQL injekcijų, XSS ir kitų atakų.
- Žurnalo įrašymas ir stebėsena: Įtartinos veiklos stebėjimas.
- CORS naudojimas: prieigos kontrolė iš skirtingų domenų.
- Apsauga nuo CSRF: Naudojant tokenus ar kitus mechanizmus.
Pavyzdys paprastos autentifikacijos naudojant API raktą Go kalba:
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
}
// Užklausos apdorojimas
}