Files
lokses 9fb33be6b2 security(api): rate limiting, constant-time токены, без утечки ошибок
По аудиту маршрутов (OWASP API):
- DRF throttling: глобально UserRateThrottle 120/min; attendance-register —
  ScopedRateThrottle 30/min, photo — UserRateThrottle. Анти-DoS/абьюз.
- Mattermost-вебхуки (slash + interactive): сверка токена через
  hmac.compare_digest (constant-time) вместо '!='
- /api/attendance/register: PvmsClientError больше не уходит клиентом —
  детали в лог, ответ общий ('Сервис учёта временно недоступен')
- /set-password/<token>: мягкий IP-троттл только на НЕвалидные токены
  (легитимный валидный токен не блокируется)

Тесты: throttle attendance → 429; вебхук отклоняет неверный/пустой токен;
set-password троттлит невалидные, пропускает валидный. 801 тест, 0 провалов.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-11-01 20:42:35 +02:00
..