Tracker Lab
Tracker Lab
@tracker_lab

Webhook security: подпись, timestamp и валидация payload — базовый минимум для трекинга

Webhook security: подпись, timestamp и валидация payload — базовый минимум для трекинга

Webhook без проверки — это не интеграция, а открытая точка для подмены конверсий, дублей и мусорных лидов. Базовая схема защиты простая: проверяешь источник, проверяешь целостность payload, отсекаешь повторы.

Что должно быть в обработчике:
— HMAC-подпись по body или canonical string, а не по распарсенному JSON
— timestamp в запросе и лимит на старение события
— nonce / event_id для антидублей
— allowlist IP или mTLS, если канал критичный
— строгая схема полей: тип, статус, amount, currency, ids

Подписывать лучше не весь «сырой» запрос как получится, а фиксированную строку: порядок полей, разделитель, кодировка. Иначе одна лишняя пробел-правка или изменение сериализации ломает проверку. Если вендор шлёт JSON, сохраняй body до парсинга и считай digest от байтов.

На стороне приёма не принимай событие, если совпала только часть условий. Подпись валидна, но timestamp вышел за окно — reject. IP из allowlist проходит, но event_id уже был — reject. Для повторной доставки делай idempotency key, иначе ретраи превратятся в дубли конверсий.

Полезная привычка: логируй не весь payload, а результат валидации, reason отказа и хэш события. Так проще искать расхождения между трекером, postback и бэкендом без утечки лишних данных.
Этот пост опубликован в Telegram-канале Tracker Lab. Подписаться можно по ссылке: @tracker_lab.
tech

Свежие посты в категории «Tech Infrastructure»

Все каналы категории →

start

Готовы запустить рекламу через сеть public.tg?

Новый оффер, продукт, GEO, кейс, событие или партнёрский запуск — соберём маршрут под задачу и отдадим медиаплан.

Telegram для медиаплана: @AFFtop_connect. Быстрый тест: $20 за канал, $1000 за пакет по сети.