Esiste un certo numero di potenziali metodi che puoi utilizzare per differenziare i bot dagli umani ma nessuno di essi è probabile al 100%
Ovviamente, come dici tu, la velocità limite cattura i robot veramente stupidi che non sanno cliccare a velocità umana. Si potrebbe dire un clic per IP, ma questo defletterebbe artificialmente le tue statistiche nel caso degli umani dietro un proxy (diventando più comune man mano che gli indirizzi IPv4 si esauriscono)
Il blocco IP non è troppo utile ai tempi del cloud computing, è piuttosto facile per un utente malintenzionato ottenere un IP o un intervallo di IP diversi da utilizzare se sono dedicati abbastanza.
Come @fas dice che puoi provare l'user agent, ma di nuovo cattureranno solo i robot che non sanno come impostare un user-agent che non è davvero troppo difficile da fare.
Potresti introdurre alcune attività "informatiche" nel processo di clic, ma ciò renderebbe il tuo sito piuttosto ostile (ad esempio CAPTCHA). Di nuovo non al 100% ma più difficile da superare banalmente.
In definitiva, suggerirei che dipende da quanto i tuoi aggressori sono motivati / ben finanziati. Se sono ragionevolmente motivati e hanno un po 'di denaro, possono semplicemente assumere persone reali per fare clic sul link (ad esempio tramite il turk meccanico amazzonico), a quel punto probabilmente troverai difficile distinguere il traffico legittimo dal traffico non legittimo.
Supponendo che i tuoi aggressori siano più casuali al riguardo, direi combinare User Agent e indirizzo IP di origine. Gli agenti utente possono effettivamente essere relativamente identificativi (maggiori informazioni sul panopticlick site ). Quindi, se si limita ogni agente utente a un clic per indirizzo IP sorgente, si può ottenere un'approssimazione decente, contro un aggressore relativamente poco sofisticato.