Fri Jan 09 2026
...
Ажурирање безбедности вебхука
Шта је ново
Претходно, систем је прослеђивао ваш API кључ у полезним теретима и очекивао да га верификујете. Ако нисте вратили 401 за неважећи API кључ, систем није дозволио постављање.
Претходно понашање
Сада, систем неће прослеђивати API кључ за нове конфигурације вебхука. Уместо тога, за нове и постојеће интеграције укључује се потписани HMAC потпис. Можете, али и не морате, верификовати овај потпис, у зависности од нивоа безбедности који је потребан.
Постојеће конфигурације ће и даље прослеђивати API кључ – сада можете затражити да се ово искључи путем тикета за подршку.
Верификација HMAC потписа
FastComments сада шаље следећа заглавља са сваким захтевом вебхука:
| Заглавље | Опис |
|---|---|
X-FastComments-Timestamp |
Unix временска ознака (секунде) када је захтев потписан |
X-FastComments-Signature |
HMAC-SHA256 потпис у формату sha256=<hex> |
token |
Ваш API Secret (задржан за уназадну компатибилност) |
Како се израчунава потпис
- Конкатенирајте:
timestamp + "." + JSON_payload_body - Израчунате HMAC-SHA256 користећи ваш API Secret као кључ
- Хекс-енкодујте резултат
Пример верификације (Python)
import hmac
import hashlib
import time
import json
def verify_webhook_signature(headers, body, api_secret):
timestamp = headers.get('X-FastComments-Timestamp')
signature = headers.get('X-FastComments-Signature')
if not timestamp or not signature:
return False
# Verify timestamp is recent
now = int(time.time())
if abs(now - int(timestamp)) > 300:
return False
# Verify signature
payload = json.dumps(body, separators=(',', ':'))
message = f"{timestamp}.{payload}"
expected = hmac.new(
api_secret.encode(),
message.encode(),
hashlib.sha256
).hexdigest()
return signature == f"sha256={expected}"
Избор HTTP методе
Додатно, уз ово ажурирање – сада можете конфигурисати HTTP метод за сваку врсту догађаја вебхука:
- Create Event: POST или PUT (подразумевано: PUT)
- Update Event: POST или PUT (подразумевано: PUT)
- Delete Event: DELETE, POST или PUT (подразумевано: DELETE)
Безбедносне предности
- Заштита од напада мана-у-мидл
- Спречавање replay напада путем верификације временске ознаке
- Откривање манипулације полезним теретом
Уназадна компатибилност
token заглавље које садржи ваш API Secret и даље се шаље са сваким захтевом. Постојеће интеграције ће наставити да раде без измена, а као што је раније поменуто, можете затражити искључење старог понашања преко подршке.
Документација
За потпуну документацију, погледајте наш Webhooks Guide.
У закључку
Као и свака велика издања, радује нас што смо успели да одвојимо време за оптимизацију, тестирање и правилно пуштање ових измена. Јавите нам у наставку ако откријете било какве проблеме.
Поздрав!
