Integreerige SilentShield turvaliselt oma vormi
Kliendiskript, serveripoolne kontroll, võtmed ja veaolukorrad – kogu integratsioon ühes kohas.
Kuidas skript ja serveripoolne kontroll koos töötavad
Täielikul integratsioonil on kaks poolt: skript brauseris ja kontroll teie serveris.
- 1
Skript laaditakse
Teie leht laadib client.js?k=… koos teie saidivõtmega. Skript mõõdab käitumist vormis.
- 2
Vorm saadetakse
Saatmisel teatab skript mõõtmise tulemuse ja lisab teie vormile välja behavior_nonce.
- 3
Teie server küsib
Teie server saadab behavior_nonce aadressile POST /api/v1/captcha/verify-nonce, teie võti on päises X-Api-Key.
- 4
Teie otsustate
Vastus sisaldab välju ok, verdict, confidence ja reason_codes. Kui ok on true, võtke saadetis vastu, muidu lükake see tagasi.
Ilma 3. sammuta kaitseb integratsioon vaid poolenisti: skript üksi ei peata päringut, mis saadetakse otse teie serverisse.
Saidivõti ja serverivõti
Saidivõti (avalik)
client.js?k=…
See on teie lehe lähtekoodis ja seega kõigile nähtav. See seob skripti teie domeeniga; alamdomeenid nagu www. või staging. on kaasatud.
Serverivõti (salajane, valikuline)
X-Api-Key
Valikuline. Kui soovite, et teie serveri tehtavad kõned kannaksid väärtust, mida pole teie lehe lähtekoodis, looge see armatuurlaual võtme juures vahekaardil „Serverivõti“. See kuulub ainult teie serverisse, mitte kunagi brauserisse, ja selle saab igal ajal uuesti genereerida.
Serveripoolne kontroll töötab ka ainult saidivõtmega, seega ei pea te midagi muutma. Mõlemat võtit aktsepteeritakse. Serverivõtmega ei sisalda teie serveri kood ühtegi väärtust, mida igaüks saaks teie lehe lähtekoodist lugeda.
Kiirjuhend
Paigalda ja manusta
Lisage skript ja hankige tunnus (token)
Kontrolli serveris
Valideeri tunnus oma taustaprogrammis
Kiire test cURL-iga
Kontrolli nonce-koodi käsurealt
# Kontrolli 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>Turvalisus ja privaatsus
- Küpsisevaba – täielikult küpsisevaba toimimine
- Profiilideta, küpsisteta – kasutatav GDPR-iga kooskõlas
- Majutus EU-s – kontroll ja salvestamine meie serverites Saksamaal
- WCAG-ühilduv – ligipääsetav kõigile kasutajatele
- CSP-ühilduv – kasutamine Content Security Policyga:
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:;SDK-d ja Teegid
Pakett töötab teie serveris (Node.js alates 18). Brauseris ei ole paketti üldse vaja — seal piisab kiirjuhendi client.js-katkendist.
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");
});Tehisintellekti agendid (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 viide
API Version: 2025-10-01 · Base URL: https://api.silentshield.io
/api/v1/captcha/verify-nonceKontrolli SilentShield Nonce-koodi
Request Headers:
X-Api-KeyYOUR_API_KEYContent-Typeapplication/jsonRequest Body:
noncestringNonce-kood, mida kontrollidaResponse:
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-kood on edukalt kontrollitud400Vigane päring (puuduv või vale Nonce)401Vigane API-võti403Ei ole inimesena kinnitatud (ok: false) – lükake saatmine tagasi429Kiiruspiirang ületatud500Sisemine serverivigaAjapiirangud, katkestused ja kvoot
- Määrake serveripoolsele kontrollile ajapiirang. Meie koodinäited kasutavad 5 sekundit.
- Kui kontroll ei vasta õigeaegselt, käsitlevad näited seda kui „kinnitamata“ ja lükkavad tagasi. Kui eelistate sel juhul vastu võtta, püüdke viga ise kinni — otsus on teie.
- Kui esimene host ei vasta ajal, mil skript laadib oma seadeid ja komponente, lülitub see teisele (api.silentshield.io ja api-eu.silentshield.io). Range ELi sidumisega võtmed jäävad ELi hostile.
- Serveripoolsel kontrollil ei ole automaatset varuhosti.
- Üle teie kuukvoodi jätkab API kontrollimist ja vastab tavapäraselt. Vastus 429 tähendab, et teie võtme minutipõhine päringupiirang on ületatud.
Testimine kohalikult ja testdomeenil
- Teie võti ei tööta aadressil localhost: see on seotud teie domeeniga ja skript lükatakse seal tagasi.
- Testige oma domeeni alamdomeenil, näiteks staging.teie-domeen.ee. See töötab põhidomeeni võtmega ega võta täiendavat domeenikohta.
- Kui soovite testi ja otsekeskkonda eraldi hinnata, looge samale domeenile teine võti. Ka see ei võta täiendavat domeenikohta.
- Saatke testiks vorm ja kontrollige oma serveris verify-nonce vastust: käsitsi sisestatud andmete korral peaks tagasi tulema ok: true; muidu näitavad reason_codes, miks mitte.
Versioonid ja muudatused
- API kannab oma versiooni teekonnas: /api/v1. Samad marsruudid on saadaval ka aadressil /api.
- Skriptil ei ole versiooninumbrit: client.js edastab alati kehtiva väljalaske, nii et teil pole vaja midagi uuendada.
- PHP, Node'i, Go ja Edge'i SDK-del on versiooninumbrid; muudatused on kirjas iga paketi muudatuste logis.
- Avaldame API ja skripti muudatused muudatuste logis.
Ressursid
Abikeskus
Põhjalik dokumentatsioon alustamise juhendite, integratsiooniõpetuste, seadistusjuhiste ja veaotsinguga.
Muudatuste logi
Olge kursis uusimate funktsioonide, täiustuste ja parandustega.