WeCaptcha

Protezione anti-bot comportamentale invisibile agli utenti umani. Nessun puzzle, nessun click su semafori — solo analisi del comportamento reale.

Prova la demo Dashboard

Analisi del mouse

Linearità del percorso, varianza della velocità e cambi di direzione. I bot si muovono in linea retta con velocità costante.

Pattern di digitazione

Inter-keystroke intervals (IKI) e durata di compilazione. Gli umani digitano con ritmo variabile e naturale.

Comportamento di scroll

Varianza dei delta e timing tra eventi. Lo scroll umano è irregolare, quello automatico è uniforme.

Timing di interazione

Ritardo dalla prima interazione dal caricamento della pagina. I bot agiscono in millisecondi.

Token per dominio

Ogni integrazione ha un token con domini autorizzati, score threshold e modalità debug configurabili.

Modalità debug

Attivabile per token dal pannello admin: bordo visivo sui form protetti e console.log in tempo reale.

API Reference

Metodo Endpoint Descrizione Auth
POST /captcha/verify Verifica sessione → score + sessionProof
POST /captcha/report Report blocco lato client
GET /captcha/validate Valida sessionProof lato server
GET /captcha/config Configurazione pubblica del token (debugMode)
GET /captcha/reports Lista report sessioni JWT
POST /auth/login Login → access_token JWT
GET /auth/me Profilo utente corrente JWT
GET /admin/tokens Lista token JWT
POST /admin/tokens Crea token JWT
PATCH /admin/tokens/:id/domains Aggiorna domini autorizzati JWT
PATCH /admin/tokens/:id/debug/enable Attiva debug mode sul token JWT
DELETE /admin/tokens/:id Revoca token JWT
GET /admin/users Lista utenti JWT admin
GET /admin/download/wordpress-plugin Scarica plugin WordPress (.zip)

Quick Start

1. Includi lo script nel <head>

<script defer
  src="/wecaptcha.js"
  data-token="LA_TUA_SITE_KEY"
  data-api=""
  data-threshold="0.4">
</script>

2. Aggiungi data-bd-protect al form

<form action="/login" method="POST" data-bd-protect>
  ...
</form>

3. Valida il proof sul server

// Node.js / Express
const r = await fetch(`/captcha/validate?tokenId=TOKEN&proof=${req.body['bd-proof']}`)
const { valid } = await r.json()
if (!valid) return res.status(403).json({ error: 'Bot detected' })