Μορφή 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"}}Τύποι συμβάντων
| Event | Description |
|---|---|
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 είναι αυθεντικό.
- Λάβετε το ακατέργαστο σώμα αιτήματος (ως συμβολοσειρά, πριν την ανάλυση)
- Λάβετε την τιμή κεφαλίδας X-SilentShield-Signature
- Υπολογίστε HMAC-SHA256 του σώματος χρησιμοποιώντας το μυστικό webhook σας ως κλειδί
- Συγκρίνετε την υπολογισμένη υπογραφή με την τιμή κεφαλίδας
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 → Επεξεργασία.