Il tag è un solo script. Mettilo nel <head> di ogni pagina da cui parte un'azione protetta: la pagina di registrazione, quella di login, il checkout.
<script src="https://korzen.dev/v1/tag.js" data-site-key="YOUR_SITE_KEY" async></script>
Si carica in modo asincrono e non blocca mai la pagina. Osserva come si comporta il browser (input, tempi, cosa dice il browser di sé), lo invia a Bot Protection e salva la risposta nel cookie _kz sul tuo dominio. Il tuo server legge quel cookie e lo invia insieme alla decisione.
I tuoi domini
Non c'è niente da elencare: metti il tag sulle tue pagine, e Bot Protection impara i tuoi domini dai suoi beacon e dalle chiamate del tuo server. Un dominio viene aggiunto in I tuoi domini, nella pagina Configurazione, alla prima decisione che il tuo server chiede su un visitatore di una delle sue pagine che non sia un bot. Un dominio conta con tutti i suoi sottodomini: shop.example, www.shop.example e app.shop.example sono un solo dominio nel tuo piano. Le pagine su localhost, 127.0.0.1 o [::1] funzionano sempre, per i test, e non compaiono mai nell'elenco. Il tuo piano stabilisce quanti domini sono protetti: i primi visti, fino a quel numero. I beacon da una pagina su qualsiasi altro dominio vengono rifiutati con 402 finché non rimuovi un dominio nella pagina Configurazione o scegli un piano più grande; rimuovi lì anche un dominio che non è tuo, come una copia del tuo sito. Durante la prova gratuita, ogni dominio ha diritto a una sola prova gratuita: i beacon da un dominio che ha già avuto la sua prova gratuita in un altro account vengono rifiutati con 402 finché non scegli un piano.
Prima dell'azione
Prima di ogni azione protetta, aspetta il tag, poi invia il form:
await window.korzen?.ready();
Riporta ciò che il visitatore ha fatto dall'ultimo rapporto del tag: chi aspetta sulla pagina, lascia che il browser compili il form e preme Invio ha fatto tutto dopo quel rapporto. Si risolve entro pochi secondi anche quando Bot Protection è lento o bloccato, così un form non resta mai bloccato. Un form che il browser invia senza il tuo JavaScript viene riportato mentre la pagina si chiude, e di solito, non sempre, arriva a Bot Protection prima che il tuo server chieda.
Opzioni
| Attributo | Predefinito | Cosa fa |
|---|---|---|
data-site-key | obbligatorio | la tua site key pubblica |
data-wait-ms | 2500 | per quanto tempo il tag ascolta l'input prima di inviare i dati |
data-ready-ms | 2000 | quanto può attendere ancora korzen.ready() |
Bot Protection si accorge del tag da solo: appena una delle tue decisioni arriva con il token del tag, una decisione senza cookie _kz conta come un indizio debole di bot. Fino ad allora, un token mancante non conta nulla.
Content Security Policy
Una pagina servita con l'header Content-Security-Policy deve lasciare che il tag si carichi, invii ciò che legge e avvii il suo worker. Aggiungi queste sorgenti alle direttive che la tua policy ha già:
script-src https://korzen.dev; connect-src https://korzen.dev; worker-src blob:
Senza worker-src blob: il tag funziona comunque e ogni visitatore passa: Bot Protection perde solo un segnale. Una pagina senza l'header non ha bisogno di nulla.
La tua informativa privacy
Sei il titolare di ciò che il tag legge sulle tue pagine, e Korzen è il tuo responsabile del trattamento, secondo l'Accordo sul trattamento dei dati, che elenca i dati e per quanto tempo ciascuno viene conservato. Una frase che la tua informativa può usare:
«Per proteggere registrazioni, accessi e pagamenti da bot e frodi, le nostre pagine usano Korzen Bot Protection. Legge caratteristiche tecniche del tuo browser e di come usi la pagina, mai ciò che digiti, e conserva un identificativo casuale del tuo browser per riconoscere un browser che ritorna. Lo facciamo per il nostro legittimo interesse a prevenire le frodi (considerando 47 del GDPR).»
Secondo le norme ePrivacy dell'UE, il cookie _kz e il local storage del tag possono essere strettamente necessari per l'azione che il visitatore ha chiesto; lo decidi con i tuoi consulenti, oppure chiedi il consenso (la Cookie policy elenca ogni elemento). Un'azione che segni con require_token manda un visitatore senza un token valido alla pagina di verifica di Korzen, che esegue il tag di Korzen stessa: la sezione 2 dell'Accordo sul trattamento dei dati dice cosa significa.