Scenario: 500 compilazioni in dieci minuti
Sono le 14:37. Il vostro modulo di contatto riceve una prima compilazione. Poi un’altra. Poi dieci, poi cento. Alle 14:47, la vostra dashboard mostra 500 nuovi lead — tutti con dati invalidi, tutti provenienti dalla stessa fascia di indirizzi IP, tutti generati da uno script che gira in loop.
È un attacco per volume. Non cerca di rubare i vostri dati. Cerca di saturare la vostra base, di esaurire le vostre quote, di sommergere i vostri veri lead sotto un diluvio di falsi. Senza protezione, ve ne accorgete solo quando i danni sono fatti.
Questo tipo di attacco è banale. Non richiede alcuna competenza particolare: basta uno script Python di venti righe. La domanda non e se il vostro modulo sara preso di mira, ma quando.
Questo articolo vi spiega come Prospect Hub risponde a questo problema, livello dopo livello — senza bloccare i vostri veri clienti.
Il rate limiting: il buttafuori all’ingresso
Immaginate un buttafuori davanti a una discoteca. Non guarda solo se avete un’aria sospetta. Osserva anche la frequenza: se la stessa persona tenta di entrare venti volte in cinque minuti, qualcosa non va, qualunque sia il suo aspetto.
Il rate limiting funziona esattamente secondo questa logica.
Limitazione per indirizzo IP
Ogni indirizzo IP ha una quota di compilazioni autorizzate su una finestra scorrevole. Concretamente: un indirizzo IP non può compilare più di N moduli all’ora. Se supera questa soglia, le richieste successive vengono rifiutate — o contrassegnate come sospette — per una durata determinata.
Questo approccio copre la grande maggioranza degli attacchi per volume, perché gli script semplici usano un solo indirizzo IP o una fascia ristretta. Un essere umano, anche molto veloce, non compilerà mai un modulo venti volte in un’ora.
Limitazione per chiave API
La limitazione per IP protegge contro gli abusi esterni. La limitazione per chiave API protegge contro gli abusi interni — o più precisamente, contro la compromissione di una chiave.
Ogni sito cliente dispone della propria chiave API (pk_xxxxx). Questa chiave e associata a una quota globale. Se viene esposta accidentalmente in un codice sorgente pubblico o usata in modo abusivo, la chiave viene limitata prima che l’impatto diventi critico. Gli altri clienti non vengono interessati; i vostri veri lead continuano ad arrivare normalmente.
Questi due livelli funzionano in parallelo. Un attaccante che aggirasse la limitazione per IP usando più indirizzi urterebbe comunque contro la limitazione per chiave API.
La dashboard di reputazione IP
Il rate limiting è una barriera automatica. Ma ogni barriera automatica genera falsi positivi. Un commerciale che testa il proprio modulo in loop, uno strumento di monitoring che verifica la disponibilita del modulo, una rete aziendale dove piu dipendenti condividono lo stesso IP in uscita: altrettante situazioni legittime che possono far scattare un’allerta.
È per questo che Prospect Hub include una dashboard di reputazione IP accessibile dall’interfaccia amministratore.
Cosa vedete
La vista elenca gli indirizzi IP che hanno fatto scattare allerte, con per ognuno:
- il numero di compilazioni sulla finestra temporale
- il punteggio di reputazione calcolato (combinazione di frequenza, User-Agent, comportamento HiveProtect)
- lo stato attuale: sorvegliato, bloccato temporaneamente, bloccato manualmente
Il pulsante “sblocca”
Se riconoscete un IP legittimo — un partner, il vostro team, uno strumento di test — potete sbloccarlo con un clic. Il punteggio viene azzerato, le compilazioni future da quell’indirizzo vengono nuovamente accettate normalmente.
Questa azione viene tracciata nei log. Sapete chi ha sbloccato cosa, e quando.
HiveProtect: l’impronta invisibile
Il rate limiting analizza i volumi. HiveProtect analizza i comportamenti.
Quando un utente carica il vostro modulo, uno script JavaScript misura discretamente diversi segnali:
Il tempo di compilazione. Un essere umano che compila un modulo impiega raramente meno di cinque secondi. Legge le etichette, digita il nome, passa da un campo all’altro. Un bot che inietta i valori direttamente nel DOM impiega generalmente meno di un secondo — spesso pochi millisecondi.
Le interazioni mouse e tastiera. Un essere umano sposta il mouse, clicca, fa errori, li corregge. Un bot non genera alcun movimento mouse, nessun evento intermedio. HiveProtect misura la presenza o l’assenza di questi eventi.
La sequenza di focus. Un essere umano naviga nell’ordine dei campi, a volte torna indietro. Un bot compila spesso tutti i campi simultaneamente, senza rispettare l’ordine naturale del modulo.
Questi dati non lasciano il browser in forma leggibile. Generano un’impronta compressa che viene inviata con la compilazione. Lato server, questa impronta viene decodificata e contribuisce al punteggio finale del lead.
Se l’impronta indica un comportamento non umano, il lead viene contrassegnato come sospetto — ma non necessariamente rifiutato. Restate voi a decidere.
Rilevamento degli User-Agent sospetti
Un User-Agent e l’identificativo che il client HTTP invia al server per presentarsi. I browser moderni inviano stringhe lunghe e precise (Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36...). Gli script di attacco, invece, inviano spesso User-Agent rivelatori.
Prospect Hub blocca o penalizza automaticamente le compilazioni provenienti da:
curlewget(strumenti da riga di comando)python-requests,python-urllib(librerie HTTP Python)axios,node-fetchsenza contesto browser identificato- Stringhe vuote o generiche (
bot,spider,scraper) - Browser headless rilevabili (
HeadlessChrome,PhantomJS)
Un browser reale non invia mai questi User-Agent. Il rilevamento e rapido, poco costoso e filtra una porzione significativa degli attacchi automatizzati.
Tabella di sintesi: quale livello blocca cosa
| Tipo di attacco | Livello che interviene |
|---|---|
| Script semplice da un singolo IP | Rate limiting per IP |
| Script distribuito con chiave API compromessa | Rate limiting per chiave API |
| Bot senza User-Agent browser | Rilevamento User-Agent |
| Bot veloce con User-Agent falsificato | HiveProtect (tempo di compilazione < 1s) |
| Bot sofisticato con ritardo artificiale | HiveProtect (assenza di interazioni mouse) |
| Modulo compilato fuori dal browser | HiveProtect (impronta mancante) + User-Agent |
| Volume basso ma ripetuto nel tempo | Reputazione IP (cumulo su finestra scorrevole) |
Nessun livello è infallibile da solo. È la loro combinazione che rende l’attacco economicamente non redditizio per l’attaccante.
Gli indicatori visivi nella dashboard lead
Ogni lead visualizzato nella vostra pipeline porta indicatori di fiducia. Un lead pulito non mostra nulla di particolare. Un lead sospetto mostra badge colorati che vi indicano cosa e stato rilevato:
- IP sospetto: l’indirizzo IP aveva un punteggio di reputazione degradato al momento della compilazione
- Comportamento bot: l’impronta HiveProtect indica una compilazione non umana
- User-Agent non valido: la richiesta proveniva da un client HTTP non browser
- Rate limit raggiunto: la compilazione è stata accettata nonostante un superamento di quota (modalità degradata)
Cliccando su un lead, accedete al dettaglio completo: punteggio di ogni segnale, valore dell’User-Agent ricevuto, tempo di compilazione misurato, stato dell’IP al momento della compilazione. Nulla e opaco.
Questa trasparenza è essenziale per calibrare la vostra fiducia nei lead in entrata e prendere decisioni informate — in particolare sui lead che meritano un trattamento prioritario versus quelli che devono essere verificati manualmente.
Per approfondire
Il rate limiting e la reputazione IP sono due dei nove livelli di protezione che Prospect Hub attiva su ogni modulo. Se volete capire l’intero dispositivo, leggete il nostro articolo sui 9 livelli di protezione antispam.
Per un confronto tecnico tra honeypot, CAPTCHA e protezione comportamentale, consultate il nostro confronto anti-bot. E se non avete ancora collegato il vostro modulo a Prospect Hub, la guida di integrazione vi accompagna passo dopo passo.
Infine, per capire perche le protezioni classiche non bastano piu di fronte ai bot moderni alimentati dall’IA, il nostro articolo sullo spam modulo e l’IA pone il problema di fondo.
Volete testare la protezione sui vostri moduli?
Prospect Hub è disponibile senza impegno. Collegate il vostro primo modulo in meno di cinque minuti e osservate in tempo reale cosa riceve realmente il vostro modulo — e cosa viene filtrato prima di raggiungere la vostra pipeline.