SilentShield

Webhook-formátum

A SilentShield valós idejű értesítéseket küldhet a szerverére webhookokon keresztül. Állítsa be a webhook-URL-eket a Vezérlőpult → Értesítések menüpontban.

Adatstruktúra

Minden webhook-adat a következő struktúrát követi:

{"event": "bot_detected", "timestamp": "2025-01-15T10:30:00Z", "data": {"keyId": "key_abc", "domain": "example.com", "ip": "203.0.113.42", "verdict": "bot", "score": 0.15, "userAgent": "Mozilla/5.0...", "page": "/contact"}}

Eseménytípusok

EventDescription
bot_detectedAkkor aktiválódik, amikor egy kérést botként osztályoznak.
bot_spikeAkkor aktiválódik, amikor a botészlelések a beállított időablakban meghaladják a riasztási küszöböt.
quota_warningAkkor aktiválódik, amikor a kvótahasználat eléri a 80%-ot vagy a 90%-ot.
quota_exceededAkkor aktiválódik, amikor a havi kvóta túllépésre kerül.
domain_verification_failedAkkor aktiválódik, amikor egy domain újraellenőrzése sikertelen.
key_rotatedAkkor aktiválódik, amikor egy API-kulcs rotálásra kerül.

Aláírás-ellenőrzés

Minden webhook tartalmaz egy X-SilentShield-Signature fejlécet HMAC-SHA256 aláírással. Ellenőrizze ezt az aláírást, hogy megbizonyosodjon a webhook hitelességéről.

  1. Szerezze meg a nyers kéréstörzset (szövegként, feldolgozás előtt)
  2. Szerezze meg az X-SilentShield-Signature fejléc értékét
  3. Számítsa ki a törzs HMAC-SHA256 értékét a webhook-titokkal mint kulccsal
  4. Hasonlítsa össze a kiszámított aláírást a fejléc értékével
const crypto = require('crypto');

function verifyWebhook(body, signature, secret) {
  const computed = crypto
    .createHmac('sha256', secret)
    .update(body)
    .digest('hex');
  return crypto.timingSafeEqual(
    Buffer.from(computed),
    Buffer.from(signature)
  );
}

Újrapróbálkozási irányelvek

Ha a végpontja nem 2xx státuszkóddal válaszol, vagy időtúllépés történik (10 másodperc), a SilentShield legfeljebb 3-szor próbálja újra exponenciális visszalépéssel (1 perc, 5 perc, 30 perc). 3 sikertelen próbálkozás után a webhook sikertelenként lesz megjelölve, és látható a Vezérlőpult → Értesítések → Sikertelen kézbesítések menüpontban.

Webhook-titok

A webhook-titok a webhook-végpont létrehozásakor generálódik a vezérlőpulton. Megtekintheti vagy újragenerálhatja a Vezérlőpult → Értesítések → Webhookok → Szerkesztés menüpontban.