Ενσωματώστε με ασφάλεια το SilentShield στη φόρμα σας
Client script, έλεγχος στον διακομιστή, κλειδιά και περιπτώσεις σφαλμάτων – η πλήρης ενσωμάτωση σε ένα σημείο.
Πώς συνεργάζονται το σενάριο και ο έλεγχος στον διακομιστή
Μια πλήρης ενσωμάτωση έχει δύο μισά: το σενάριο στο πρόγραμμα περιήγησης και έναν έλεγχο στον διακομιστή σας.
- 1
Φόρτωση σεναρίου
Η σελίδα σας φορτώνει το client.js?k=… με το κλειδί ιστότοπού σας. Το σενάριο μετρά τη συμπεριφορά στη φόρμα.
- 2
Υποβολή φόρμας
Κατά την υποβολή, το σενάριο αναφέρει τη μέτρηση και προσθέτει το πεδίο behavior_nonce στη φόρμα σας.
- 3
Ο διακομιστής σας ρωτά
Ο διακομιστής σας στέλνει το behavior_nonce στο POST /api/v1/captcha/verify-nonce, με το κλειδί σας στην κεφαλίδα X-Api-Key.
- 4
Εσείς αποφασίζετε
Η απάντηση περιέχει ok, verdict, confidence και reason_codes. Αποδεχθείτε την υποβολή αν το ok είναι true, διαφορετικά απορρίψτε την.
Χωρίς το βήμα 3 η ενσωμάτωση προστατεύει μόνο κατά το ήμισυ: το σενάριο από μόνο του δεν σταματά ένα αίτημα που αποστέλλεται απευθείας στον διακομιστή σας.
Κλειδί ιστότοπου και κλειδί διακομιστή
Κλειδί ιστότοπου (δημόσιο)
client.js?k=…
Βρίσκεται στον πηγαίο κώδικα της σελίδας σας και είναι ορατό σε όλους. Δεσμεύει το σενάριο στον τομέα σας· υποτομείς όπως www. ή staging. περιλαμβάνονται.
Κλειδί διακομιστή (μυστικό, προαιρετικό)
X-Api-Key
Προαιρετικό. Αν θέλετε οι κλήσεις που κάνει ο διακομιστής σας να φέρουν μια τιμή που δεν υπάρχει στον πηγαίο κώδικα της σελίδας σας, δημιουργήστε το στον πίνακα ελέγχου, στο κλειδί, στην καρτέλα «Κλειδί διακομιστή». Ανήκει μόνο στον διακομιστή σας, ποτέ στο πρόγραμμα περιήγησης, και μπορεί να δημιουργηθεί εκ νέου ανά πάσα στιγμή.
Ο έλεγχος στον διακομιστή λειτουργεί μόνο με το κλειδί ιστότοπου, επομένως δεν χρειάζεται να αλλάξετε τίποτα. Γίνονται δεκτά και τα δύο κλειδιά. Με το κλειδί διακομιστή, ο κώδικας του διακομιστή σας δεν περιέχει καμία τιμή που μπορεί να διαβάσει οποιοσδήποτε στον πηγαίο κώδικα της σελίδας σας.
Γρήγορη εκκίνηση
Εγκατάσταση & ενσωμάτωση
Προσθέστε το script και λάβετε ένα token
Επαλήθευση στον διακομιστή
Επικυρώστε το token στο backend σας
Γρήγορη δοκιμή με cURL
Επαληθεύστε το nonce από τη γραμμή εντολών
# Επαλήθευση Nonce
curl -X POST https://api.silentshield.io/api/v1/captcha/verify-nonce \
-H "X-Api-Key: YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{"nonce": "256ea6c63c3ccdd317e05cbc9ef0c659"}'Frontend Integration
Add the client script with SRI and defer attributes
<!-- In <head> or before </body> of every page with a form -->
<script src="https://api.silentshield.io/client.js?k=YOUR_API_KEY" defer></script>Ασφάλεια & απόρρητο
- Χωρίς cookies – πλήρως λειτουργία χωρίς cookies
- Χωρίς προφίλ, χωρίς cookies – κατάλληλο για χρήση σύμφωνα με τον GDPR
- Φιλοξενία στην EU – έλεγχος και αποθήκευση στους διακομιστές μας στη Γερμανία
- Συμβατό με WCAG – προσβάσιμο σε όλους τους χρήστες
- Συμβατό με CSP – χρήση με Content Security Policy:
Content-Security-Policy: script-src 'self' https://api-us.silentshield.io https://api-eu.silentshield.io; connect-src 'self' https://api-us.silentshield.io https://api-eu.silentshield.io; worker-src 'self' blob:;SDKs & Βιβλιοθήκες
Το πακέτο τρέχει στον διακομιστή σας (Node.js από 18 και πάνω). Στο πρόγραμμα περιήγησης δεν χρειάζεστε κανένα πακέτο — εκεί αρκεί το απόσπασμα client.js από τον γρήγορο οδηγό.
Node.js / Express
v1.5.0npm i @forge12interactive/silentshield-sdk-jsimport { createClient } from "@forge12interactive/silentshield-sdk-js";
const shield = createClient({ apiKey: process.env.SILENTSHIELD_API_KEY });
app.post("/signup", async (req, res) => {
const { human } = await shield.verify(req.body.behavior_nonce);
if (!human) return res.status(403).send("Verification failed");
res.send("ok");
});Πράκτορες ΤΝ (Node.js)
v1.5.0npm i @forge12interactive/silentshield-sdk-jsimport { createClient, enforce } from "@forge12interactive/silentshield-sdk-js";
const shield = createClient({ apiKey: process.env.SILENTSHIELD_API_KEY });
// Reports bot candidates only — never blocks, never sees human traffic.
app.use(shield.observe);
// Applies your policy locally from a signed bundle. Fail-open.
app.use(enforce({ apiKey: process.env.SILENTSHIELD_API_KEY }));Αναφορά API
API Version: 2025-10-01 · Base URL: https://api.silentshield.io
/api/v1/captcha/verify-nonceΕπαλήθευση SilentShield Nonce
Request Headers:
X-Api-KeyYOUR_API_KEYContent-Typeapplication/jsonRequest Body:
noncestringΤο Nonce προς επαλήθευσηResponse:
Success (200):
{
"ok": true,
"verdict": "human",
"confidence": 0.95,
"requested_nonce": "256ea6c63c3ccdd317e05cbc9ef0c659"
}Error:
{
"ok": false,
"verdict": "bot",
"confidence": 0.12,
"request_nonce": "256ea6c63c3ccdd317e05cbc9ef0c659",
"reason_codes": ["NO_MOUSE_MOVEMENT"]
}Status Codes:
200Nonce επαληθεύτηκε επιτυχώς400Μη έγκυρη αίτηση (λείπει ή είναι λανθασμένο το Nonce)401Μη έγκυρο Κλειδί API403Δεν επιβεβαιώθηκε ως άνθρωπος (ok: false) – απορρίψτε την υποβολή429Υπέρβαση ορίου ρυθμού500Εσωτερικό σφάλμα διακομιστήΧρονικά όρια, διακοπές λειτουργίας και όριο χρήσης
- Ορίστε χρονικό όριο για τον έλεγχο στον διακομιστή. Τα παραδείγματα κώδικα που παρέχουμε χρησιμοποιούν 5 δευτερόλεπτα.
- Αν ο έλεγχος δεν απαντήσει εγκαίρως, τα παραδείγματα το θεωρούν «μη επιβεβαιωμένο» και απορρίπτουν. Αν προτιμάτε να αποδέχεστε σε αυτή την περίπτωση, χειριστείτε το σφάλμα μόνοι σας — η απόφαση είναι δική σας.
- Αν ο πρώτος host δεν απαντήσει ενώ το σενάριο φορτώνει τις ρυθμίσεις και τα στοιχεία του, μεταβαίνει στον δεύτερο (api.silentshield.io και api-eu.silentshield.io). Τα κλειδιά με αυστηρή δέσμευση στην ΕΕ παραμένουν στον host της ΕΕ.
- Για τον έλεγχο στον διακομιστή δεν υπάρχει αυτόματος εφεδρικός host.
- Πάνω από το μηνιαίο όριο χρήσης σας, το API συνεχίζει να ελέγχει και απαντά κανονικά. Ένα 429 σημαίνει ότι έχει υπερβεί το όριο αιτημάτων ανά λεπτό για το κλειδί σας.
Δοκιμές τοπικά και σε δοκιμαστικό τομέα
- Το κλειδί σας δεν λειτουργεί σε localhost: είναι δεσμευμένο στον τομέα σας και το σενάριο απορρίπτεται εκεί.
- Κάντε δοκιμές σε έναν υποτομέα του τομέα σας, για παράδειγμα staging.o-tomeas-sas.gr. Λειτουργεί με το κλειδί του κύριου τομέα και δεν καταλαμβάνει επιπλέον θέση τομέα.
- Αν θέλετε να αξιολογείτε ξεχωριστά τη δοκιμαστική και τη ζωντανή λειτουργία, δημιουργήστε ένα δεύτερο κλειδί για τον ίδιο τομέα. Ούτε αυτό καταλαμβάνει επιπλέον θέση τομέα.
- Υποβάλετε δοκιμαστικά μια φόρμα και ελέγξτε στον διακομιστή σας την απάντηση του verify-nonce: για καταχώριση που πληκτρολογήθηκε χειροκίνητα θα πρέπει να επιστρέφεται ok: true· διαφορετικά τα reason_codes δείχνουν γιατί όχι.
Εκδόσεις και αλλαγές
- Το API φέρει την έκδοσή του στη διαδρομή: /api/v1. Οι ίδιες διαδρομές είναι διαθέσιμες και κάτω από το /api.
- Το σενάριο δεν έχει αριθμό έκδοσης: το client.js παραδίδει πάντα την τρέχουσα έκδοση, οπότε δεν χρειάζεται να ενημερώσετε τίποτα.
- Τα SDK για PHP, Node, Go και Edge έχουν αριθμούς έκδοσης· οι αλλαγές αναφέρονται στο αρχείο αλλαγών του κάθε πακέτου.
- Δημοσιεύουμε τις αλλαγές στο API και στο σενάριο στο αρχείο αλλαγών.
Πόροι
Κέντρο βοήθειας
Πλήρης τεκμηρίωση με οδηγούς πρώτων βημάτων, οδηγίες ενσωμάτωσης, αναφορές ρυθμίσεων και αντιμετώπιση προβλημάτων.
Αρχείο αλλαγών
Μείνετε ενήμεροι για τις νέες λειτουργίες, τις βελτιώσεις και τις διορθώσεις.
Είστε έτοιμοι να ξεκινήσετε;
Δημιουργήστε έναν δωρεάν λογαριασμό και λάβετε το κλειδί σας.