SilentShield

JavaScript integracija

Integrirajte SilentShield u bilo koju web-stranicu koristeći obični JavaScript ili koristite naše vodiče specifične za okvire poput Reacta, Vuea i Angulara.

1. Dodajte script oznaku

Dodajte ovu script oznaku u svoj HTML, idealno prije zatvarajuće </body> oznake:

HTMLhtml
<script src="https://api.silentshield.io/client.js?k=YOUR_API_KEY" crossorigin="anonymous" defer></script>

2. Inicijalizirajte widget

Ručna inicijalizacija nije potrebna — client.js se inicijalizira sam i učitava konfiguraciju widgeta (temu, jezik, značku) iz postavki nadzorne ploče:

JavaScriptjavascript
// No init call needed — client.js bootstraps itself as soon as it loads
// and pulls your widget configuration (theme, language, badge) from the
// dashboard: App → API keys → [your key] → Widget.

Opcije konfiguracije

apiKey
API ključ (obavezno)
lang
Jezični kod ili 'auto' za automatsko prepoznavanje preglednika (zadano: 'auto'). Podržava 25 jezika.
thresholdSuspicious
Rezultat ispod ove vrijednosti pokreće izazov (zadano: 0.6)
thresholdBlock
Rezultat ispod ove vrijednosti blokira zahtjev (zadano: 0.3)
telemetry
Omogućuje praćenje ponašanja (zadano: true)
captchaUI
Prikazuje CAPTCHA korisničko sučelje po potrebi (zadano: true)
fallbackCaptcha
Omogućuje matematički CAPTCHA kao rezervnu opciju (zadano: true)
showBrandingBadge
Prikazuje oznaku 'Zaštićeno od SilentShielda' (zadano: true)
zeroPii
Isključuje uzimanje otisaka preglednika radi najveće privatnosti (zadano: false). Pogledajte Značajke → Zero-PII način.
debugOverlay
Prikazuje sloj za otklanjanje pogrešaka (zadano: false)
onVerdict
Povratna funkcija koja se poziva kada se primi presuda

Jednostranične aplikacije (SPA)

Za SPA aplikacije koje koriste usmjeravanje na klijentskoj strani (React Router, Vue Router itd.), SilentShield automatski prati promjene DOM-a i otkriva nove obrasce. Ponovna inicijalizacija nakon navigacije nije potrebna.

Čitanje noncea

Nakon slanja obrasca nonce je dostupan kao skriveno polje:

HTMLhtml
const nonce = document.querySelector('input[name="behavior_nonce"]')?.value;