Back to questions
Junior — Middle
74
Какими способами можно защитить API от несанкционированного доступа и атак?
Answer from AI
sobes.tech AI
Для защиты API от несанкционированного доступа и атак применяются следующие методы:
- Аутентификация и авторизация: Использование токенов (JWT, OAuth), API-ключей, Basic Auth для проверки прав пользователя.
- Шифрование: Передача данных по HTTPS для защиты от перехвата.
- Ограничение количества запросов (Rate Limiting): Предотвращение DDoS-атак и злоупотреблений.
- Валидация и фильтрация входящих данных: Защита от SQL-инъекций, XSS и других атак.
- Логирование и мониторинг: Отслеживание подозрительной активности.
- Использование CORS: Контроль доступа с разных доменов.
- Защита от CSRF: Использование токенов или других механизмов.
Пример простейшей аутентификации с использованием API-ключа в 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
}
// Обработка запроса
}