Μορφή webhook

Το SilentShield μπορεί να στέλνει ειδοποιήσεις σε πραγματικό χρόνο στον διακομιστή σας μέσω webhook. Ρυθμίστε τα URL webhook στον Πίνακα ελέγχου → Ειδοποιήσεις.

Δομή δεδομένων

Όλα τα δεδομένα webhook ακολουθούν αυτή τη δομή:

{"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"}}

Τύποι συμβάντων

EventDescription
bot_detectedΕνεργοποιείται όταν ένα αίτημα ταξινομηθεί ως bot.
bot_spikeΕνεργοποιείται όταν οι ανιχνεύσεις bot υπερβούν το όριο ειδοποίησης εντός του ρυθμισμένου παραθύρου.
quota_warningΕνεργοποιείται όταν η χρήση ορίου φτάσει στο 80% ή 90%.
quota_exceededΕνεργοποιείται όταν το μηνιαίο όριό σας ξεπεραστεί.
domain_verification_failedΕνεργοποιείται όταν αποτύχει ένας έλεγχος επαναεπαλήθευσης τομέα.
key_rotatedΕνεργοποιείται όταν γίνει εναλλαγή κλειδιού API.

Επαλήθευση υπογραφής

Κάθε webhook περιλαμβάνει μια κεφαλίδα X-SilentShield-Signature που περιέχει υπογραφή HMAC-SHA256. Επαληθεύστε αυτή την υπογραφή για να βεβαιωθείτε ότι το webhook είναι αυθεντικό.

  1. Λάβετε το ακατέργαστο σώμα αιτήματος (ως συμβολοσειρά, πριν την ανάλυση)
  2. Λάβετε την τιμή κεφαλίδας X-SilentShield-Signature
  3. Υπολογίστε HMAC-SHA256 του σώματος χρησιμοποιώντας το μυστικό webhook σας ως κλειδί
  4. Συγκρίνετε την υπολογισμένη υπογραφή με την τιμή κεφαλίδας
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)
  );
}

Πολιτική επανάληψης

Εάν το endpoint σας επιστρέψει κωδικό κατάστασης μη 2xx ή λήξει ο χρόνος (10 δευτερόλεπτα), το SilentShield επαναλαμβάνει την παράδοση έως 3 φορές με εκθετική αναμονή (1 λεπτό, 5 λεπτά, 30 λεπτά). Μετά από 3 αποτυχημένες προσπάθειες, το webhook σημειώνεται ως αποτυχημένο και είναι ορατό στον Πίνακα ελέγχου → Ειδοποιήσεις → Αποτυχημένες παραδόσεις.

Μυστικό webhook

Το μυστικό webhook σας δημιουργείται κατά τη δημιουργία endpoint webhook στον πίνακα ελέγχου. Μπορείτε να το δείτε ή να το αναδημιουργήσετε στον Πίνακα ελέγχου → Ειδοποιήσεις → Webhook → Επεξεργασία.