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
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
Il-formola tintbagħat
Meta tintbagħat, l-iskript jirrapporta l-kejl u jżid il-qasam behavior_nonce mal-formola tiegħek.
- 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
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
Installa u Integra
Żid l-iskript u akkwista token
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.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");
});Aġenti tal-IA (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 }));Referenza tal-API
API Version: 2025-10-01 · Base URL: https://api.silentshield.io
/api/v1/captcha/verify-nonceIvverifika SilentShield Nonce
Request Headers:
X-Api-KeyYOUR_API_KEYContent-Typeapplication/jsonRequest Body:
noncestringNonce li għandu jiġi vverifikatResponse:
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ċċess400Talba invalida (Nonce nieqes jew żbaljat)401Ċavetta tal-API invalida403Mhux ikkonfermat bħala bniedem (ok: false) – irrifjuta s-sottomissjoni429Il-limitu tar-rata nqabeż500Żball intern tas-serverLimiti 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.
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.