Droši integrējiet SilentShield savā veidlapā
Klienta skripts, servera puses pārbaude, atslēgas un kļūdu gadījumi – pilna integrācija vienuviet.
Kā skripts un servera pārbaude darbojas kopā
Pilnai integrācijai ir divas daļas: skripts pārlūkprogrammā un pārbaude jūsu serverī.
- 1
Skripts ielādējas
Jūsu lapa ielādē client.js?k=… ar jūsu vietnes atslēgu. Skripts mēra uzvedību veidlapā.
- 2
Veidlapa tiek iesniegta
Iesniedzot skripts paziņo mērījumu un pievieno jūsu veidlapai lauku behavior_nonce.
- 3
Jūsu serveris vaicā
Jūsu serveris nosūta behavior_nonce uz POST /api/v1/captcha/verify-nonce, ar jūsu atslēgu galvenē X-Api-Key.
- 4
Jūs izlemjat
Atbildē ir ok, verdict, confidence un reason_codes. Pieņemiet iesniegumu, ja ok ir true, pretējā gadījumā noraidiet to.
Bez 3. soļa integrācija aizsargā tikai daļēji: skripts viens pats neaptur pieprasījumu, kas nosūtīts tieši uz jūsu serveri.
Vietnes atslēga un servera atslēga
Vietnes atslēga (publiska)
client.js?k=…
Tā ir jūsu lapas pirmkodā un tāpēc redzama ikvienam. Tā piesaista skriptu jūsu domēnam; apakšdomēni, piemēram, www. vai staging., ir iekļauti.
Servera atslēga (slepena, neobligāta)
X-Api-Key
Neobligāti. Ja vēlaties, lai jūsu servera izsaukumos būtu vērtība, kas nav jūsu lapas pirmkodā, izveidojiet to informācijas panelī pie atslēgas, cilnē “Servera atslēga”. Tā drīkst atrasties tikai jūsu serverī, nekad pārlūkprogrammā, un to var jebkurā laikā ģenerēt no jauna.
Servera pārbaude darbojas ar vietnes atslēgu vien, tāpēc nekas nav jāmaina. Tiek pieņemtas abas atslēgas. Izmantojot servera atslēgu, jūsu servera kodā nav vērtības, ko ikviens var izlasīt jūsu lapas pirmkodā.
Ātrais sākums
Instalēt un integrēt
Pievienojiet skriptu un saņemiet pilnvaru (token)
Pārbaudīt serverī
Apstipriniet pilnvaru savā aizmugursistēmā (backend)
Ātrais tests ar cURL
Pārbaudiet nonce no komandrindas
# Pārbaudīt 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>Drošība un privātums
- Bez sīkdatnēm – pilnīga darbība bez sīkdatnēm
- Nav profilu, nav sīkdatņu – izmantojams atbilstoši GDPR
- Mitināšana EU – pārbaude un glabāšana mūsu serveros Vācijā
- WCAG saderīgs – pieejams visiem lietotājiem
- CSP saderīgs – izmantojiet ar satura drošības politiku (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:;SDK un Bibliotēkas
Pakotne darbojas jūsu serverī (Node.js no 18). Pārlūkā pakotne nav vajadzīga vispār — tur pietiek ar ātrās darba sākšanas client.js fragmentu.
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");
});MI aģenti (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 atsauce
API Version: 2025-10-01 · Base URL: https://api.silentshield.io
/api/v1/captcha/verify-noncePārbaudīt SilentShield Nonce
Request Headers:
X-Api-KeyYOUR_API_KEYContent-Typeapplication/jsonRequest Body:
noncestringPārbaudāmais NonceResponse:
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 veiksmīgi pārbaudīts400Nederīgs pieprasījums (trūkst vai ir nepareizs Nonce)401Nederīga API atslēga403Nav apstiprināts kā cilvēks (ok: false) – noraidiet iesniegšanu429Pārsniegts pieprasījumu limits500Iekšēja servera kļūdaLaika ierobežojumi, darbības pārtraukumi un kvota
- Iestatiet servera pārbaudei laika ierobežojumu. Mūsu koda piemēros tiek izmantotas 5 sekundes.
- Ja pārbaude neatbild laikā, piemēri to uzskata par “neapstiprinātu” un noraida. Ja šādā gadījumā labāk vēlaties pieņemt, apstrādājiet kļūdu paši — lēmums ir jūsu.
- Ja pirmais resursdators neatbild, kamēr skripts ielādē savus iestatījumus un komponentus, tas pārslēdzas uz otro (api.silentshield.io un api-eu.silentshield.io). Atslēgas ar stingru ES piesaisti paliek ES resursdatorā.
- Servera pārbaudei nav automātiska rezerves resursdatora.
- Pēc mēneša kvotas pārsniegšanas API turpina pārbaudīt un atbild kā parasti. Atbilde 429 nozīmē, ka ir pārsniegts jūsu atslēgas pieprasījumu skaita ierobežojums minūtē.
Testēšana lokāli un testa domēnā
- Jūsu atslēga nedarbojas localhost: tā ir piesaistīta jūsu domēnam, un skripts tur tiek noraidīts.
- Testējiet sava domēna apakšdomēnā, piemēram, staging.jusu-domens.lv. Tas darbojas ar galvenā domēna atslēgu un neaizņem papildu domēna vietu.
- Ja vēlaties testa un darba vidi vērtēt atsevišķi, izveidojiet tam pašam domēnam otru atslēgu. Arī tā neaizņem papildu domēna vietu.
- Iesniedziet testa veidlapu un savā serverī pārbaudiet verify-nonce atbildi: ar roku ievadītiem datiem jāatgriež ok: true; pretējā gadījumā reason_codes parāda, kāpēc ne.
Versijas un izmaiņas
- API versija ir norādīta ceļā: /api/v1. Tie paši maršruti ir pieejami arī zem /api.
- Skriptam nav versijas numura: client.js vienmēr piegādā pašreizējo laidienu, tāpēc jums nekas nav jāatjaunina.
- PHP, Node, Go un Edge SDK ir versiju numuri; izmaiņas ir norādītas katras pakotnes izmaiņu žurnālā.
- API un skripta izmaiņas publicējam izmaiņu žurnālā.
Resursi
Palīdzības centrs
Visaptveroša dokumentācija ar darba sākšanas ceļvežiem, integrācijas pamācībām, konfigurācijas atsaucēm un problēmu novēršanu.
Izmaiņu žurnāls
Sekojiet līdzi jaunākajām funkcijām, uzlabojumiem un labojumiem.