Senza richiedere account utente (presumo che il tuo caso d'uso li precluda), non esiste un metodo infallibile per identificare gli utenti finali. Ma alcuni metodi comuni includono:
Cookie
Imposta un cookie sul computer client per identificare l'utente.
- Pro: decisamente unico per sessione
- Contro: facile da rimuovere o prevenire (anche per le persone con conoscenze tecniche limitate), si applica solo a un browser, facile da ignorare per uno script
indirizzo IP
Utilizza l'indirizzo IP dell'utente per identificare l'utente.
- Pro: le modifiche non sono frequenti, funzionano su browser, richiedono conoscenze tecniche per falsificare o utilizzare un server proxy
- Contro: non necessariamente univoco: un solo indirizzo IP può facilmente essere applicato a intere case / edifici / uffici dietro una rete e, per alcuni ISP, gli indirizzi IP degli utenti potrebbero essere riassegnati
Fingerprinting del browser
Utilizza tutti i dati del browser trasmessi al server (non solo l'agente utente, ma anche il sistema operativo, la risoluzione dello schermo e un numero di altre cose) per generare un'impronta digitale del browser unica.
- Pro: alta probabilità di essere univoco, opaco per l'utente finale (cambiare gli indirizzi IP o cancellare i cookie non lo bypasserà)
- Contro: probabilmente too univoco - qualsiasi modifica delle condizioni del browser (o del browser) cambierà l'impronta digitale (sebbene sia possibile scegliere solo un sottoinsieme di informazioni del browser fornite per bilanciare la volatilità e l'unicità delle impronte digitali), può essere bypassato dagli script
Naturalmente puoi anche usare più metodi. Il metodo che utilizzi dipende molto dal tuo caso d'uso specifico. Per molti casi, basta un semplice cookie. Se si desidera una difesa contro script o altri metodi di esclusione, aggiungere un limite di velocità dell'indirizzo IP. Puoi anche tentare di raccogliere quante più informazioni possibili e utilizzare una sorta di algoritmo euristico per cercare di trovare persone che stanno bypassando il sistema per l'unicità che hai in atto.
Ma di nuovo, non c'è un modo infallibile per farlo.