Blocca i tentativi di forza bruta e l'abuso automatizzato degli OTP.
Proteggi i flussi di verifica di registrazione, accesso e autenticazione rafforzata da tentativi di forza bruta sui codici, cicli di reinvio automatizzati e pumping di SMS, senza aggiungere attriti per gli utenti legittimi. Bird Verify archivia i codici di verifica come hash, applica limiti di tentativi e finestre di scadenza per sessione, limita gli invii ripetuti per destinatario e ti permette di bloccare i paesi che non servi prima che un messaggio venga inviato.
verify.ts
200 · pendingimport { BirdClient } from "@messagebird/sdk"; const bird = new BirdClient({ apiKey: process.env.BIRD_API_KEY!, }); // Send the code, then check it by recipient. await bird.verify.verifications.create({ to: { phone_number: "+15551234567" }, }).safe(); const { data, error } = await bird.verify.verifications.check({ to: { phone_number: "+15551234567" }, code: userInput, }).safe(); if (error) throw error;
Il tuo account
Conferma la tua identità.
Inserisci il codice inviato a
+1 ••• ••• 4567
verify.ts
200 · pendingimport { BirdClient } from "@messagebird/sdk"; const bird = new BirdClient({ apiKey: process.env.BIRD_API_KEY!, }); // Send the code, then check it by recipient. await bird.verify.verifications.create({ to: { phone_number: "+15551234567" }, }).safe(); const { data, error } = await bird.verify.verifications.check({ to: { phone_number: "+15551234567" }, code: userInput, }).safe(); if (error) throw error;
Il tuo account
Conferma la tua identità.
Inserisci il codice inviato a
+1 ••• ••• 4567
verify.ts
200 · pendingimport { BirdClient } from "@messagebird/sdk"; const bird = new BirdClient({ apiKey: process.env.BIRD_API_KEY!, }); // Send the code, then check it by recipient. await bird.verify.verifications.create({ to: { phone_number: "+15551234567" }, }).safe(); const { data, error } = await bird.verify.verifications.check({ to: { phone_number: "+15551234567" }, code: userInput, }).safe(); if (error) throw error;
Il tuo account
Conferma la tua identità.
Inserisci il codice inviato a
+1 ••• ••• 4567
Metti in sicurezza i flussi OTP senza creare sistemi personalizzati di limitazione delle richieste.
Gestire internamente la sicurezza della verifica significa mantenere contatori Redis per le attese tra i reinvii, tracciare i tentativi errati per sessione, applicare l'hash ai codici prima di scriverli nel database e filtrare il traffico verso i paesi in cui non operi. Con la API Bird Verify, queste protezioni si applicano automaticamente a ogni sessione di verifica. I codici di verifica in chiaro restano fuori dalle risposte dell'API e dai log dell'applicazione, gli endpoint di controllo applicano un numero limitato di tentativi e limiti di richieste al minuto, e le impostazioni dello spazio di lavoro ti permettono di regolare finestre di scadenza e destinazioni consentite per l<twofa>accesso con autenticazione a due fattori</twofa> e laccesso senza password.
Come Bird protegge le sessioni di verifica dagli abusi.
Protezioni predefinite e controlli dello spazio di lavoro che bloccano i tentativi di indovinare i codici, i reinvii massivi e il traffico internazionale indesiderato.
- 01
Genera codici di verifica imprevedibili.
Genera per impostazione predefinita codici di verifica numerici di 6 cifre (o da 4 a 8 cifre per richiesta) da una sorgente casuale crittografica sull'intero spazio dei codici, così gli attaccanti non possono prevederli da timestamp o contatori sequenziali.
- 02
Tieni i codici in chiaro fuori da log e risposte.
Archivia i codici di verifica come hash HMAC-SHA256 e omette il testo in chiaro da risposte dell'API, payload dei webhook e log della dashboard, così log dell'applicazione trapelati o viste del supporto non possono esporre codici attivi.
- 03
Controlla i codici inviati in tempo costante.
Valuta le cifre inviate dall'utente in tempo costante su tutti i tentativi attivi della sessione, così la latenza della risposta non rivela agli attaccanti quante cifre corrispondono.
- 04
Blocca i tentativi di forza bruta e fai scadere le sessioni inattive.
Per impostazione predefinita ogni sessione ha un limite di 5 tentativi di controllo e una finestra di scadenza di 10 minuti; puoi regolare entrambi i limiti nelle impostazioni dello spazio di lavoro. Quando i tentativi o il tempo si esauriscono, la sessione si chiude e gli ulteriori controlli vengono rifiutati, con in più una limitazione dei controlli al minuto.
- 05
Limita gli invii ripetuti e blocca i paesi non utilizzati.
Applica un'attesa di 60 secondi tra un reinvio e l'altro (configurabile fino a un'ora) e un limite mobile di 5 invii all'ora per indirizzo del destinatario, così i bot non possono inondare il telefono di un utente né esaurire il tuo credito. Disattiva dalla dashboard i paesi che non servi per bloccare il pumping di SMS verso quelle destinazioni prima che un messaggio venga inviato.
Guida gli utenti reali in caso di errori di battitura e blocca i cicli di forza bruta.
Quando un utente sbaglia una cifra, la risposta del controllo indica alla tua app quanti tentativi restano, così puoi invitarlo a riprovare. Esauriti i tentativi della sessione, la verifica si chiude automaticamente e blocca altri tentativi finché non viene avviata una nuova sessione.
const { data, error } = await bird.verify.verifications.check({
to: { phone_number: "+15551234567" },
code: guess,
}).safe();
if (error) throw error;
// wrong code, attempts left → { success: false, reason: "incorrect_code", attempts_remaining: 2 }
// budget spent, session done → { success: false, reason: "attempts_exhausted", attempts_remaining: null }In arrivo: segnali di rischio automatici e tetti di spesa.
Oltre ai controlli per paese e ai limiti di invio per destinatario già disponibili, stiamo integrando un livello antifrode direttamente nel ciclo di vita della verifica. Poiché funziona sugli stessi endpoint di invio e controllo, il tuo team potrà attivare regole di rischio dalla configurazione senza modificare il codice dell'applicazione.
Segnali di rischio sulle richieste di verifica. Passa dispositivo, IP e contesto della richiesta all'avvio di una verifica, così i tentativi ad alto rischio vengono bloccati prima che parta un messaggio e si generino costi dell'operatore.
Limiti di velocità per prefisso e tetti di spesa. Combina limiti di invio per paese e per prefisso con i limiti di verifica dello spazio di lavoro per fermare gli attacchi di traffico gonfiato artificialmente (AIT) verso numerazioni premium degli operatori prima che esauriscano il tuo budget.
Decisioni basate sullo storico delle consegne. Valuta le nuove richieste di verifica in base allo storico di tentativi e conversioni che Bird Verify registra su tutti i canali e mostra gli esiti bloccati direttamente tramite il tuo gestore di stato esistente.
Sviluppa sulla piattaforma Verify
Consegna multicanale, instradamento di fallback e flussi di autenticazione basati sulla stessa API.
Scala senza perdere il controllo.
Separate production and sandbox traffic into dedicated workspaces, scope API keys to the exact channels each service or agent needs, and track permission changes in the audit log.