SilentShield

Integra SilentShield b'mod sigur fil-formola tiegħek

Script tal-klijent, verifika fuq is-server, ċwievet u każijiet ta' żbalji – l-integrazzjoni kollha f'post wieħed.

Kif l-iskript u l-verifika fuq is-server jaħdmu flimkien

Integrazzjoni sħiħa għandha żewġ nofsijiet: l-iskript fil-browser u verifika fuq is-server tiegħek.

  1. 1

    L-iskript jitgħabba

    Il-paġna tiegħek tgħabbi client.js?k=… biċ-ċavetta tas-sit tiegħek. L-iskript ikejjel l-imġiba fil-formola.

  2. 2

    Il-formola tintbagħat

    Meta tintbagħat, l-iskript jirrapporta l-kejl u jżid il-qasam behavior_nonce mal-formola tiegħek.

  3. 3

    Is-server tiegħek jistaqsi

    Is-server tiegħek jibgħat behavior_nonce lil POST /api/v1/captcha/verify-nonce, biċ-ċavetta tiegħek fl-header X-Api-Key.

  4. 4

    Inti tiddeċiedi

    It-tweġiba fiha ok, verdict, confidence u reason_codes. Aċċetta s-sottomissjoni jekk ok huwa true, inkella iċħadha.

Mingħajr il-pass 3, l-integrazzjoni tipproteġi biss nofs it-triq: l-iskript waħdu ma jwaqqafx talba mibgħuta direttament lis-server tiegħek.

Ċavetta tas-sit u ċavetta tas-server

Ċavetta tas-sit (pubblika)

client.js?k=…

Tidher fil-kodiċi sors tal-paġna tiegħek u hija viżibbli għal kulħadd. Torbot l-iskript mad-dominju tiegħek; sottodominji bħal www. jew staging. huma inklużi.

Ċavetta tas-server (sigrieta, mhux obbligatorja)

X-Api-Key

Mhux obbligatorju. Jekk trid li s-sejħiet li jagħmel is-server tiegħek jinkludu valur li mhux fil-kodiċi sors tal-paġna tiegħek, oħloqha fid-dashboard fuq iċ-ċavetta, fit-tab “Ċavetta tas-server”. Għandha tkun biss fuq is-server tiegħek, qatt fil-browser, u tista' terġa' tiġġenera kull meta trid.

Il-verifika fuq is-server taħdem biċ-ċavetta tas-sit biss, għalhekk m'għandek bżonn tbiddel xejn. Iż-żewġ ċwievet jiġu aċċettati. Biċ-ċavetta tas-server, il-kodiċi tas-server tiegħek ma fih l-ebda valur li kulħadd jista' jaqra fil-kodiċi sors tal-paġna tiegħek.

Bidu Mgħaġġel

1

Installa u Integra

Żid l-iskript u akkwista token

2

Ivverifika fuq is-Server

Ivvalida t-token fuq il-backend tiegħek

Test mgħaġġel bil-cURL

Ivverifika l-nonce mil-linja tal-kmand

# Ivverifika 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>

Sigurtà u Privatezza

  • Ebda cookies – tħaddim kompletament mingħajr cookies
  • L-ebda profili, l-ebda cookies – jista' jintuża b'mod konformi mal-GDPR
  • Ospitar fl-EU – verifika u ħażna fuq is-servers tagħna fil-Ġermanja
  • Konformi ma' WCAG – aċċessibbli għall-utenti kollha
  • Konformi ma' CSP – uża ma' 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 u Libreriji

Il-pakkett jaħdem fuq is-server tiegħek (Node.js 18 jew aktar). Fil-browser ma għandekx bżonn pakkett — hemm biżżejjed is-snippet client.js mill-bidu mgħaġġel.

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");
});

Aġenti tal-IA (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 }));

Referenza tal-API

API Version: 2025-10-01 · Base URL: https://api.silentshield.io

POST/api/v1/captcha/verify-nonce

Ivverifika SilentShield Nonce

Request Headers:

X-Api-KeyYOUR_API_KEY
Content-Typeapplication/json

Request Body:

noncestringNonce li għandu jiġi vverifikat

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 ġie vverifikat b'suċċess
400Talba invalida (Nonce nieqes jew żbaljat)
401Ċavetta tal-API invalida
403Mhux ikkonfermat bħala bniedem (ok: false) – irrifjuta s-sottomissjoni
429Il-limitu tar-rata nqabeż
500Żball intern tas-server

Limiti ta' ħin, interruzzjonijiet u kwota

  • Issettja limitu ta' ħin għall-verifika fuq is-server. L-eżempji tal-kodiċi tagħna jużaw 5 sekondi.
  • Jekk il-verifika ma twieġibx fil-ħin, l-eżempji jittrattawha bħala “mhux ikkonfermata” u jiċħdu. Jekk f'dak il-każ tippreferi taċċetta, aqbad l-iżball int stess — id-deċiżjoni hija tiegħek.
  • Jekk l-ewwel host ma jwieġibx waqt li l-iskript qed jgħabbi s-settings u l-komponenti tiegħu, jaqleb għat-tieni wieħed (api.silentshield.io u api-eu.silentshield.io). Ċwievet b'rabta stretta mal-UE jibqgħu fuq il-host tal-UE.
  • M'hemmx host ta' riżerva awtomatiku għall-verifika fuq is-server.
  • Lil hinn mill-kwota ta' kull xahar tiegħek, l-API tkompli tivverifika u twieġeb bħas-soltu. 429 tfisser li nqabeż il-limitu ta' talbiet kull minuta għaċ-ċavetta tiegħek.

Ittestjar lokalment u fuq dominju tat-test

  • Iċ-ċavetta tiegħek ma taħdimx fuq localhost: hija marbuta mad-dominju tiegħek, u l-iskript jiġi miċħud hemmhekk.
  • Ittestja fuq sottodominju tad-dominju tiegħek, pereżempju staging.dominju-tieghek.mt. Jaħdem biċ-ċavetta tad-dominju prinċipali u ma jużax post ieħor għal dominju.
  • Jekk trid tevalwa t-test u l-live separatament, oħloq it-tieni ċavetta għall-istess dominju. Lanqas din ma tuża post ieħor għal dominju.
  • Ibgħat formola bħala test u ċċekkja t-tweġiba ta' verify-nonce fuq is-server tiegħek: dħul miktub bl-idejn għandu jagħti ok: true; inkella r-reason_codes juru għaliex le.
Issettja dominju tat-test

Verżjonijiet u bidliet

  • L-API iġġorr il-verżjoni tagħha fil-path: /api/v1. L-istess rotot huma disponibbli taħt /api.
  • L-iskript m'għandux numru tal-verżjoni: client.js dejjem iwassal l-aħħar rilaxx, għalhekk m'hemm xejn x'taġġorna.
  • L-SDK għal PHP, Node, Go u Edge għandhom numri tal-verżjoni; il-bidliet huma elenkati fil-changelog ta' kull pakkett.
  • Nippubblikaw il-bidliet fl-API u fl-iskript fil-changelog.

Riżorsi

Ċentru tal-Għajnuna

Dokumentazzjoni komprensiva b'gwidi tal-bidu, tutorials tal-integrazzjoni, referenzi tal-konfigurazzjoni u soluzzjoni tal-problemi.

Reġistru tal-bidliet

Ibqa' aġġornat bl-aħħar funzjonijiet, titjib u korrezzjonijiet.

Lest biex tibda?

Oħloq kont b'xejn u ikseb iċ-ċavetta tiegħek.