SilentShield

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. 1

    Skript laaditakse

    Teie leht laadib client.js?k=… koos teie saidivõtmega. Skript mõõdab käitumist vormis.

  2. 2

    Vorm saadetakse

    Saatmisel teatab skript mõõtmise tulemuse ja lisab teie vormile välja behavior_nonce.

  3. 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. 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

1

Paigalda ja manusta

Lisage skript ja hankige tunnus (token)

2

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.0
npm i @forge12interactive/silentshield-sdk-js
import { 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.0
npm i @forge12interactive/silentshield-sdk-js
import { 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

POST/api/v1/captcha/verify-nonce

Kontrolli SilentShield Nonce-koodi

Request Headers:

X-Api-KeyYOUR_API_KEY
Content-Typeapplication/json

Request Body:

noncestringNonce-kood, mida kontrollida

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-kood on edukalt kontrollitud
400Vigane päring (puuduv või vale Nonce)
401Vigane API-võti
403Ei ole inimesena kinnitatud (ok: false) – lükake saatmine tagasi
429Kiiruspiirang ületatud
500Sisemine serveriviga

Ajapiirangud, 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.
Seadistage testdomeen

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.

Valmis alustama?

Looge tasuta konto ja saage oma võti.