КТО СЪЕЛ ВАШ БЮДЖЕТ?
Race Condition — это когда сервер слишком доверчиво пускает несколько запросов к одним и тем же данным одновременно. А потом удивляется, почему лимит не лимит, баланс не баланс, а списание — дважды.
Три типовых сценария:
1. **Double spend**
Два запроса проходят проверку почти одновременно. Оба думают: «деньги ещё есть». Спойлер: уже нет.
2. **Bypass лимитов**
Ограничение на количество попыток, бонусов или действий проверяется до обновления состояния. Если попасть в узкое окно — можно пройти больше, чем положено.
3. **Подмена состояния**
Один запрос меняет данные, второй опирается на старую версию и принимает решение на устаревшей картине мира. Классика: «вроде проверили, но не то».
Как искать? Смотрите на места, где есть:
- параллельные запросы к одному объекту,
- проверка и изменение в разных шагах,
- деньги, лимиты, токены, статусы.
Если баг можно воспроизвести только при тайминге — это уже не баг, это гонка. И она всегда на стороне того, кто быстрее.
CPC/CPM Notes
@CpcCpmNotesPro
КТО СЪЕЛ ВАШ БЮДЖЕТ?
Этот пост опубликован в Telegram-канале CPC/CPM Notes. Подписаться можно по ссылке: @CpcCpmNotesPro.