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?key=YOUR_API_KEY" defer></script>

2. Inicijalizirajte widget

Pozovite SilentShield.init() nakon učitavanja DOM-a:

JavaScriptjavascript
document.addEventListener('DOMContentLoaded', function() {
  SilentShield.init({
    apiKey: 'YOUR_API_KEY',
    lang: 'auto',
    features: {
      telemetry: true,
      captchaUI: true,
      fallbackCaptcha: true,
      showBrandingBadge: true,
    },
    onVerdict: function(response) {
      console.log('SilentShield verdict:', response);
    }
  });
});

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ći praćenje ponašanja (zadano: true)
captchaUI
Prikaži CAPTCHA korisničko sučelje po potrebi (zadano: true)
fallbackCaptcha
Omogući matematički CAPTCHA kao rezervnu opciju (zadano: true)
showBrandingBadge
Prikaži oznaku 'Zaštićeno od SilentShielda' (zadano: true)
zeroPii
Disable browser fingerprinting for maximum privacy (default: false). See Features → Zero-PII Mode.
debugOverlay
Prikaži 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="ss_nonce"]')?.value;